Domanda

data una stringa:

msg="hello world"

Come posso definirlo come un ctypes.c_void_p () tipo di dati?

il codice seguente restituisce un "quot" che non può essere convertito in puntatore " eccezione:

data=ctypes.c_void_p(msg)

data deve essere un tipo void * in C, poiché viene passato a una DLL.

Suppongo che ci sia un modo per comprimere / decomprimere la stringa usando il pacchetto struct , ma sfortunatamente non ho molta familiarità con questo processo.

È stato utile?

Soluzione

Qualcosa del genere? Utilizzando ctypes.cast ?

>>> import ctypes
>>> p1= ctypes.c_char_p("hi mom")
>>> ctypes.cast( p1, ctypes.c_void_p )
c_void_p(11133300)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top