Seite 1 von 1

QByteArray in unsigned char *[]

Verfasst: 21. April 2006 13:51
von goofy
Hallo,

wahrscheinlich ist meine Frage zu trivial, aber es ist Freitag Nachmittag
und ich bekommst nicht hin --> :?

ich muss einer Methode ein QByteArray über geben,
diese Methode erwartet aber einen unsigned char *[]

Wie mache aus einem QByteArray ein unsigned char *[] ?????

hab schon ein paar sachen versucht, reinterpret_cast<> usw.
Aber langsam lassen mich meine Kenntnisse im Stich. :(

also ich bekomme vom QByteArray ein char*

Code: Alles auswählen

 QByteArray temp;
char *blub = temp.data();
aber weiter komm ich nicht !

bitte, bitte kann mir jemand helfen

goofy

Verfasst: 21. April 2006 15:47
von BartSimpson
Das ist jetzte eventuell nicht optimal aber ich einer ähnlichen Situration habe ich zu

Code: Alles auswählen

memcpy(XXX,datenfeld.data(),datenfeld.size());
gegriffen. Wo man dabei vorher prüfen müss, ob das QBytearray in das uchar [] reinpasst.
XXX=unsigned char [300];

Re: QByteArray in unsigned char *[]

Verfasst: 21. April 2006 17:33
von Christian81
Die Funktion möchte ein Pointer auf ein Array -> also
&QByteArray::data()

Wenn es allerdings das QByteArray verändern will, ist dies evtl. gefährlich - nämlich dann wenn dein QByteArray zu klein ist -> siehe QByteArray::resize()

Verfasst: 24. April 2006 08:46
von goofy
Sorry, dass ich mich erst jetzt melde ...

werd das mal versuchen ...

wie ist das von der geschwindigkeit?
in dem QByteArray stehen bilddaten die angezeigt werden müssen.

danke

goofy

Verfasst: 24. April 2006 09:01
von goofy
also,

glaub von der Geschwindigkeit gibts wohl keine Problem, hab gerade gelesen
dass memcpy extrem schnell ist ....

ich glaub das genau das richtige für mich ... :D

nochmals danke