给一个字符串:
msg="hello world"
如何将其定义为ctypes.c_void_p()
数据类型?
以下代码产生"无法转换为指针"异常:
data=ctypes.c_void_p(msg)
data
需要是void*
C中的类型,因为它被传递给DLL.
我假设有一种方法可以使用包打包/解压缩字符串struct
,但不幸的是我对这个过程非常不熟悉.
像这样的东西?用ctypes.cast
?
>>> import ctypes >>> p1= ctypes.c_char_p("hi mom") >>> ctypes.cast( p1, ctypes.c_void_p ) c_void_p(11133300)