Pio*_*him 0 python string ctypes
我在创建一个带有字符串的ctypes结构并用一个有意义的值初始化它时遇到了一些问题.
这是我的结构:
class MyStruct( Structure ):
_fields_ = [ ("someString", c_char_p) ]
Run Code Online (Sandbox Code Playgroud)
这是我试图初始化它
obj = MyStruct( "something" )
Run Code Online (Sandbox Code Playgroud)
两种尝试都失败了.这是错误消息:
obj_1 = MyStruct("something")TypeError:期望的字符串或整数地址而不是str实例
如果我使用*c_char_p*operator obj = MyStruct(c_char_p("something"))也会发生同样的事情
我必须提到这个代码是在Blender 2.63a环境中执行的.
任何人都可以帮我解决这个问题吗?
您需要使用该__init__方法来实例化:
class MyStruct( Structure ):
def __init__(self,some_string):
self._fields_ = [ (some_string, c_char_p) ]
Run Code Online (Sandbox Code Playgroud)
然后制作一个新的结构,应该工作:
obj = MyStruct( "something" )
Run Code Online (Sandbox Code Playgroud)