1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| quint64 i1 = 127;
quint64 i2 = 18;
quint64 i3 = 1;
quint64 i4 = 10;
qint64 i5 = 11;
qint64 i6 = 4660;
// Je dois écrire ces variables en big endian.
QFile file("lol");
if (file.open(QIODevice::WriteOnly | QIODevice::Unbuffered) == false)
{
QMessageBox::critical(this, "Erreur critique", "Impossible de creer un fichier");
return ;
}
QDataStream stockage(&file);
char data[8];
memcpy(data, &(i1), 2); // l'access size de i1 est de 2
memcpy(data + 2, &(i2), 1); // l'access size de i2 est de 1
memcpy(data + 3, &(i3), 1); // l'access size de i3 est de 1
memcpy(data + 4, &(i4), 1); // l'access size de i4 est de 1
memcpy(data + 5, &(i5), 1); // l'access size de i5 est de 1
memcpy(data + 6, &(i6), 2); // l'access size de i6 est de 2
//si je veux écrire en big endian
stockage.setByteOrder(QDataStream::BigEndian);
sinon
stockage.setByteOrder(QDataStream::LittleEndian);
stockage.device()->write((char*)data, 8);
file.close(); |
Partager