[Python] ctypes puntatore ad un elemento di un array
Pietro
peter.zamb a gmail.com
Mar 24 Lug 2012 23:10:29 CEST
Ciao a tutti,
ho una struct line_pnts che è così definita:
http://grass.osgeo.org/programming7/dig__structs_8h_source.html#l01654
è possibile avere il puntatore all'i-esimo elemento usando ctypes?
Ho definito una classe Line, che inserisce dei punti nella struct:
>>> line = Line([(0, 0), (1, 1), (2, 0), (1, -1)])
>>> type(line.c_points) # l'attributo c_points è una struct di tipo: line_pnts
grass.lib.vector.struct_line_pnts
>>> line.c_points.x[3] # controllo che i punti siano stati inseriti nella struct
1.0
>>> line.c_points.y[3] # controllo che i punti siano stati inseriti nella struct
-1.0
>>> type(line.c_points.y[3])
float
>>> type(line.c_points.y)
grass.lib.ctypes_preamble.LP_c_double
>>> ctypes.pointer(line.c_points.y[3]) # se provo ad avere il pointer mi solleva il seguente errore:
...
*** TypeError: _type_ must have storage info
è possibile e se si come ottenere un pointer al elemento i-esimo di un
array? In questo caso come dovrei fare?
Grazie per l'aiuto.
Pietro
Maggiori informazioni sulla lista
Python