[gelöst] QByteArray und Datastreams

Alles rund um die Programmierung mit Qt
Antworten
Obliviscens
Beiträge: 6
Registriert: 8. Februar 2005 15:03
Wohnort: Ahlen

[gelöst] QByteArray und Datastreams

Beitrag von Obliviscens »

moin,

ich wollte heute ein paar Tests mit dem QByteArray machen um später eine client/server Applikation zu schreiben.
Nur irgendwie funktionieren schon die Grundtests nicht. (vielleicht ist es noch zu früh am morgen ^^)

Kann mir jemand erklären warum bei folgendem code der String leer bleibt?

Code: Alles auswählen


QByteArray data_array;
	
QDataStream data_stream(&data_array, QIODevice::ReadWrite);
data_stream.setVersion(QDataStream::Qt_4_2);
	
data_stream << "Hallo";
data_stream << "test";
	
QString output;
data_stream >> output;

mfg Obliviscens
Zuletzt geändert von Obliviscens am 6. Juli 2007 13:28, insgesamt 2-mal geändert.
RD1978
Beiträge: 84
Registriert: 5. Juni 2007 08:00
Wohnort: Stralsund (DDR)

Beitrag von RD1978 »

Hallo,

vesuch´s mal so:

Code: Alles auswählen

QByteArray myarray;
QDataStream out( &myarray, QIODevice::WriteOnly );

out << QString( "Hallo Welt" );
out << (quint32)321;

QDataStream in( &myarray, QIODevice::ReadOnly );

quint32 myinteger;
QString mystring;

in >> mystring >> myinteger;

qDebug() << mystring << myinteger;
MfG RD1978
Obliviscens
Beiträge: 6
Registriert: 8. Februar 2005 15:03
Wohnort: Ahlen

Beitrag von Obliviscens »

ah danke

hmm peinlich... ich solte mich beim auslesen des streams schon daran halten welchen Datentypen ich in den stream reingeschrieben habe und dann auch entsprechen char * benutzen... spielt ja auch für die "serialization" (keine ahnung wie das auf deutsch heisst) eine wichtige rolle...

(das ich zwei streams brauche ist mir noch nicht so ganz klar weil ich mich wundere wofür es dann die option QIODevice::ReadWrite gibt... aber ich denke das geht bei streams grundsätzlich nicht... und bevor es lustige kommentare dazu gibt befasse ich mich lieber nochmal genauer mit streams ^^)

Vielen dank für die Hilfe.
RD1978
Beiträge: 84
Registriert: 5. Juni 2007 08:00
Wohnort: Stralsund (DDR)

Beitrag von RD1978 »

Hallo,

zwei Streams brauchst du nur in diesem Fall, wenn du eine Client/Server Anwendung schreiben willst, liest und schreibst du ja auf einem Stream.

MfG RD1978
Antworten