@J.Hilk
Works fine :)
template< class aType >
qint64 write( QFile& file, aType var ) {
qint64 toWrite = sizeof(decltype (var));
qint64 written = file.write(reinterpret_cast<const char*>(&var), toWrite);
if (written != toWrite) {
qDebug () << "write error";
}
qDebug () << "out: " << written;
return written;
}
template< class aType >
qint64 read( QFile& file, aType &var ) {
qint64 toRead = sizeof(decltype (var));
qint64 read = file.read(reinterpret_cast<char*>(&var), toRead);
if (toRead != read) {
qDebug () << "read error";
}
qDebug () << "in: " << read;
return read;
}
QFile file("e:/test.txt");
if (!file.open(QFile::WriteOnly)) {
return;
}
uint8_t var1 = 10;
uint32_t var2 = 20000;
float var3 = 10.8;
write(file, var1);
write(file, var2);
write(file, var3);
file.close();
var1 = 0; var2 = 0; var3 = 0;
if (!file.open(QFile::ReadOnly)) {
return;
}
read(file, var1);
read(file, var2);
read(file, var3);
qDebug() << " result = " << var1 << " " << var2 << " " << var3;
out: 1
out: 4
out: 4
in: 1
in: 4
in: 4
result = 10 20000 10.8
but file is fragile to platform change etc.