Binärdaten lesen und schreiben

Alles rund um die Programmierung mit Qt
Antworten
stimpy
Beiträge: 64
Registriert: 7. März 2006 17:05

Binärdaten lesen und schreiben

Beitrag von stimpy »

Hallo,

ich verwende einen QStream, um Binärdaten in eine Datei zu schreiben
bzw. daraus zu lesen. Üblicherweise verwendet man ja keine qint32 Zahlen, sondern int. Wie stelle ich sicher, daß ich genau 8,16 oder 32 Bits
lese/schreibe?

Code: Alles auswählen

int integer_variable; // Größe nicht ganz sicher
QDataStream str(&file);

str >> (qint32)integer_variable;
//bzw.
str << (qint32)integer_variable;

Ist das so ausreichend? Ich bin mir nicht sicher, wie der Compiler das auslegt.
Oder sollten QT-Projekte generell lieber qint-Typen verwenden?

Danke,
Ulf
Emperor_L0ser
Beiträge: 51
Registriert: 28. Juli 2005 12:26
Kontaktdaten:

Beitrag von Emperor_L0ser »

wenn es wirklich absolut sicher sein muss, nimm auch am besten qint32 als datentyp für die variable, denn wenn du sonst auch ein 16 bit integer system arbeitest, geht das schreiben wohl noch, aber beim lesen kann ziemlicher mist herrauskommen, den auch ein casten nicht beseitigt, in 32 bt passen einfach mehr infos als in 16 bit.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

besser qtypen benutzen oder mit sizeof prüfen das der int wirklich 32bit ist.
Und denn besser gleich als uint einlesen. In deinem Fall denn quint32.
Antworten