我有一个 ctypes 结构(例如):
from ctypes import *
class Foo(Structure):
_fields_ = [('f1',c_uint),
('f2',c_uint)]
我想将该结构的一个实例复制到从 create_string_buffer 创建的缓冲区中(其大小比 Foo 的单个实例所需的大)。
例子:
f = Foo()
f.f1=1; f.f2=2;
buf = create_string_buffer(100)
buf[0:sizeof(f)] = f
我知道你可以从文件对象的结构中读取和写入数据(即 open('bar','rb').readinto(f) ),所以似乎也应该有一些方法可以轻松地做到这一点。 .