获取ctypes对象的地址

时间:2011-03-07 03:03:33

标签: python ctypes

我有一个缓冲区,如:

bufstr = ctypes.create_string_buffer("Test", 32)

我如何获得该缓冲区的地址?即如果我这样做的那个:

print bufstr

像:

<ctypes.c_char_Array_32 object at 0x042ACAD0>

我知道我可以用byref()传递它,例如;但是如果我只是想得到那个地址(除了切片那个字符串!)该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:7)

使用ctypes。addressof

ctypes.addressof(bufstr)

答案 1 :(得分:3)

我相信:

ctypes.addressof(bufstr)

应该这样做。请注意,toString中提到的地址是针对Python对象的,而不是C内存。