Wie Short als Bytes speichern?

Alles rund um die Programmierung mit Qt
Antworten
chom
Beiträge: 24
Registriert: 13. Januar 2012 20:02

Wie Short als Bytes speichern?

Beitrag 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));
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Wie Short als Bytes speichern?

Beitrag 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);
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten