我有一个缓冲区,如:
bufstr = ctypes.create_string_buffer("Test", 32)
我如何获得该缓冲区的地址?即如果我这样做的那个:
print bufstr
像:
<ctypes.c_char_Array_32 object at 0x042ACAD0>
我知道我可以用byref()传递它,例如;但是如果我只是想得到那个地址(除了切片那个字符串!)该怎么办?
谢谢!
答案 0 :(得分:7)
使用ctypes。addressof。
ctypes.addressof(bufstr)
答案 1 :(得分:3)
我相信:
ctypes.addressof(bufstr)
应该这样做。请注意,toString中提到的地址是针对Python对象的,而不是C内存。