質問

文字列を指定:

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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top