关于create_string_buffer的问题
head = create_string_buffer(32)
fr = create_string_buffer(8)
pack_into('I',fr,0,11111111) #我要这个流放到pack_into('q',head,4,fr)中,可是如此写不行
pack_into('!H',head,0,32)
pack_into('!h',head,2,0x101)
pack_into('q',head,4,fr)
不知道是否有别的方法
q是8
我要放进去,一个4,一个2,一个1,一个1
请指教
[解决办法]
不大懂你的话,假如是要Head 的struct
struct Head {
long long q1;
long long q2;
long long q3;
long long q4;
};
那就
>>> head = ctypes.create_string_buffer(32)
>>> struct.pack_into("qqqq", head, 0, 4, 2, 1, 1)
>>> head.raw
'\x04\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
>>>