Seite 1 von 1

Wie Short als Bytes speichern?

Verfasst: 22. März 2012 19:18
von chom
Hallo,
Ich stehe gerade auf dem Schlauch:
Ich möchte einen Short Wert in einer Text Datei speichern, aber nicht als Zahl sondern als Byte.
Also z.B. 10 soll nicht als 10 auftauchen in der Datei sondern als das Zeichen das als 0x0A steht, d.h. ich will das als Bytes speichern.
Problem ist jetzt aber ich weiß nicht wie...

Code: Alles auswählen

QFile file("xxx.txt");
file.write(QByteArray((char*)ShortWert, 2);
klappt nicht (kommt mir auch selber schon falsch vor), aber ich weiß im Moment nichts besseres.

Danke also schon mal :D

MfG

Edit:
Hier mein Ansatz, bei dem aber das Programm abstürzt:

Code: Alles auswählen

file.write(reinterpret_cast<char*>((Counter & 0xFF00)>>8));
file.write(reinterpret_cast<char*>(Counter & 0x00FF));

Re: Wie Short als Bytes speichern?

Verfasst: 23. März 2012 07:48
von Christian81
Und wen man sich die Doku zu QFile::write(const char*) anschaut sieht man auch warum: http://doc.trolltech.com/4.7/qiodevice.html#write-2

Code: Alles auswählen

QByteArray data;
unsigned short tmp=4711;
data += (char)((tmp & 0xFF00) >> 8);
data += (char)(tmp & 0xFF)
file.write(data);