Seite 1 von 1

byte[] in QByteArray

Verfasst: 18. April 2006 14:47
von Grisu80
Hallo alle zusammen,

ich habe eine Dll, die mir mit Hilfe einer Funktion ein byte[] Array liefert. Ich möchte dieses in einer MySQL Datenbank in einem BLOB speichern.
Wenn ich das richig verstanden habe, muss ich ein QByteArray übergeben um die Daten in der Datenbank zu speichern.

Jetzt muss ich also meinen byte* Pinter in ein QByte Array Kopieren, kann ich das ohne Datenverlust Casten?


Gruß,
Grisu

Verfasst: 18. April 2006 17:26
von BartSimpson
Das sollte es laut Doku sein:
QByteArray::QByteArray ( const char * data, int size )
Constructs a byte array containing the first size bytes of array data.
If data is 0, a null byte array is constructed.

Verfasst: 18. April 2006 22:45
von Grisu80
Hi,

das ist schon korrekt. Aber ich habe ein

byte *dummy Variable die ich übergeben bekommen.

Aber ich muss gestehen, dass ich zu blöd bin ein byte* Pointer in einen const char* Pointer zu Casten, wenn das überhaupt geht.

Gruß,

Grisu

Verfasst: 18. April 2006 22:57
von BartSimpson
den Datentyp byte gibt es eigentlich nicht.
Da must mal im header der lib nachschauen, was die da gebaut haben.
Ich vermute ein unsigned char.

Verfasst: 18. April 2006 23:07
von Grisu80
Hi,
du hast recht, es ist ein unsigned char :)

Aber wie mache ich aus einem unsigned char* einen const char* Pointer?

Geht das überhaupt?

Grisu

Verfasst: 18. April 2006 23:20
von BartSimpson
ja mittels ZeigerChar=(char*)ZeigerUnsignetChar