Python:ctypes.c_void_p()で使用するために文字列を変換する
質問
文字列を指定:
msg="hello world"
これを ctypes.c_void_p()
データ型として定義するにはどうすればよいですか
次のコードは、「ポインタに変換できません」を生成します。例外:
data=ctypes.c_void_p(msg)
data
はDLLに渡されるため、Cでは void *
型である必要があります。
struct
パッケージを使用して文字列をパック/アンパックする方法があると想定していますが、残念ながらこのプロセスにはあまり慣れていません。
解決
このような何か? ctypes.cast
を使用しますか?
>>> import ctypes
>>> p1= ctypes.c_char_p("hi mom")
>>> ctypes.cast( p1, ctypes.c_void_p )
c_void_p(11133300)
所属していません StackOverflow