读书人

关于create_string_buffer的有关问题

发布时间: 2012-02-14 19:19:19 作者: rapoo

关于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'
>>>




读书人网 >perl python

热点推荐