ctypes: how to make a structure pointer to point to a buffer
Diez B. Roggisch
deets at nospam.web.de
Mon Apr 23 11:42:33 CEST 2007
> 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 *
_fields_ = [('name', c_int),
buffer = (c_byte * 1024)()
buffer_p = pointer(buffer)
student_p = cast(buffer_p, POINTER(STUDENT))
More information about the Python-list