谢谢回复,我把数据先保存到QByteArray中,然后才存放到SQlite中的,下面是我的操作。
这个是我定义的结构体---测试
#pragma pack(push,1)
typedef struct __test_s
{
unsigned char one;
unsigned short two;
unsigned int four;
unsigned char buffer[3];
}test_s;
#pragma pack(pop)
保存到SQlite前的操作
test_s stTest;
stTest.buffer[0]=2;
stTest.buffer[1]=14;
stTest.buffer[2]=235;
stTest.four=240;
stTest.one=250;
stTest.two=99;
QByteArray baTest((char *)&stTest,sizeof(test_s));
下面是我从里面读出来的
QByteArray ele2=query->value(0).toByteArray();
QChar *qcPtr=(QChar *)ele2.data();
test_s *ptr=(test_s *)qcPtr;
fprintf(stderr,"%d,%d,%d\n",ptr->buffer[0],ptr->one,ptr->two);
可是发现,读出的数据和写入的数据两者不一样,不知道是怎么回事,谢谢了