获取ctypes对象的地址
我有一个缓冲区,内容如下:
bufstr = ctypes.create_string_buffer("Test", 32)
我该如何获取这个缓冲区的地址呢?也就是说,如果我执行以下操作,会显示的那个地址:
print bufstr
比如:
<ctypes.c_char_Array_32 object at 0x042ACAD0>
我知道我可以通过使用 byref() 来传递它;但是如果我只是想获取那个地址(不想切割那个字符串)呢?
谢谢!
2 个回答
5
我认为:
ctypes.addressof(bufstr)
这样做就可以了。请注意,toString中提到的地址是指Python对象的地址,而不是C语言中的内存地址。
12
使用 ctypes.addressof。
ctypes.addressof(bufstr)