struct test_struct{ .... quint16 key; double datetime;} tst;QFile file( "testfile.bin");file.open(QIODevice::ReadOnly);file.read((char*)&tst,sizeof(tst));qDebug()<<tst.key; //okqDebug()<<tst.datetime; //not ok :-(
union{ double result; char byte[8];} doubleConv;// data - считанные из файла нужные 8 байт.for(int i=0;i<8;i++) doubleConv.byte[i]=data[i];// в doubleConv.result - получим нужное число.// либо вот так:for(int i=0;i<8;i++) doubleConv.byte[8-i]=data[i];
qDebug()<< &tst.key;qDebug()<< &tst.datetime;
#pragma pack (push, 1)struct test_struct{ .... quint16 key; double datetime;} tst;#pragma pack (pop)