Python: conversione di stringhe da utilizzare con ctypes.c_void_p ()
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.
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