Python ctypes,偏移到POINTER(c_char)

时间:2015-02-19 02:20:42

标签: python ctypes addressof

我有一个内部库的ctypes包装器。其中一个使用的结构有一个名为" data"类型为POINTER(c_char)。这用于保存消息的有效负载(不一定是空终止的字符串)。这个有效负载总是有一个8字节的标题,我想跳过它。你如何用ctypes在Python中做到这一点?

class MyStruct(Structure):
    _fields_ = [("len", c_size_t), ("data", POINTER(c_char))]

def my_cb_proc(msg):
    # want to skip first 8 bytes -- below does not work
    tmp = (POINTER(c_char)).from_address(addressof(msg.contents.data)+8)

    do_something(tmp)

0 个答案:

没有答案