ctypes: how to make a structure pointer to point to a buffer
Diez B. Roggisch
deets at nospam.web.de
Mon Apr 23 05:42:33 EDT 2007
人言落日是天涯,望极天涯不见家 wrote:
> first, I'm try the POINTER to convesion the pointer type. but failed.
>
> class STUDENT(Structure):
> _fields_ = [('name', c_int),
> ('id', c_int),
> ('addition', c_ubyte)]
>
> buffer = c_byte * 1024
> student_p = cast(buffer, POINTER(STUDENT))
>
> The parameter of the POINTER must be ctypes type.
> How could I attach the buffer pointer to the structure STUDENT ?
I think it should work like this:
from ctypes import *
class STUDENT(Structure):
_fields_ = [('name', c_int),
('id', c_int),
('addition', c_ubyte)]
buffer = (c_byte * 1024)()
buffer_p = pointer(buffer)
student_p = cast(buffer_p, POINTER(STUDENT))
print student_p
Diez
More information about the Python-list
mailing list