我需要通过将其转换为数组来访问char*的内容
这是一个演示:
from ctypes import *
foo = (c_char * 4)()
foo.value = "foo"
print foo.raw # => 'foo\x00'
foo_ptr = cast(foo, c_char_p)
print foo_ptr.value # => 'foo'
Run Code Online (Sandbox Code Playgroud)
现在我想将foo_ptr转换回(c_char*4).这些都不奏效
foo_ = (c_char * 4)(foo_ptr)
foo_ = cast(foo_ptr, c_char * 4)
Run Code Online (Sandbox Code Playgroud)
找到了
foo_ = (c_char * 4).from_address(foo_ptr._get_buffer_value())
print foo_.raw # => 'foo\x00'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3052 次 |
最近记录: |