C++ (Qt)struct str{ QString name;}; inline QDataStream &operator <<(QDataStream &steam, const str &data){ stream << data.name; return stream;} inline QDataStream &operator >>(QDataStream &steam, str &data){ stream >> data.name; return stream;}
C++ (Qt)str data;data.name = "aaaaa";...QDataStream strm(&theFile);strm << data;
C++ (Qt)str data;QDataStream strm(&theFile);strm >> data;
str dat;QByteArray arr;file.write(arr, sizeof(dat));
... // открыли файл для записиQDataStream strm(&theFile);qint64 theDataStart = -1, theDataSize = -1;...theDataStart = strm.device()->pos(); // запомнили позицию первой записиstrm << theData; // цивильно записалиtheDataSize = strm.device()->pos() - theDataStart; // запомнили размер записи на диске
void ReadRecNo( QDataStream & strm, int recNo, MyData & theData ){ strm.device()->seek(theDataStart + theDataSize * recNo); strm >> theData; }
struct Struct { char* str;} S;S.str = "bla-bla-bla";QFile File("file.out");File.open(QIODevice::ReadWrite);File.write(&S, sizeof(S));