Seite 1 von 1

[gelöst] float to QByteArray und über QSocket versenden

Verfasst: 22. Juni 2009 15:53
von zimti
Ich möchte ein float in ein QByte Array bekommen. Ich muss den float wert übers netzwerk versenden, so das man es mit:

Code: Alles auswählen

float Wert= *((float*)(ImputBuffer));
wieder in ein float bekommt.

Ich habe es mit memcpy versucht aber irgendwie wurde dann irgendwas gespeichert

Code: Alles auswählen

float Wert = 20.0;
QByteArray temp_QByte;
unsigned char cWert[4];

memcpy(&c_Wert,&Wert, sizeof(float));

temp_QByte.append((char*)Wert, sizeof(float));

oder bin ich auf einem ganz falschen weg :?:

Verfasst: 22. Juni 2009 16:17
von zimti
Ups... :oops:

funktioniert doch..

war mein fehler, ich habe vor dem float in meinem QByteArray noch ein short int, hatte jedoch den anfangspunkt im Array um ein int erweitert.
(ein wenig zu viel)

und ich habe ein klein tippfehler im code (oben)

falls noch wer das problem hat, so müsste es aussehen:

Code: Alles auswählen

float Wert = 20.0;
QByteArray temp_QByte;
unsigned char cWert[4];

memcpy(&c_Wert,&Wert, sizeof(float));

temp_QByte.append((char*)&Wert, sizeof(float));  // <- das & vor Wert