Wie konvertieren von unsigned char * zu QString
Ich weiß, das ist eine sehr grundlegende Frage, aber manchmal passiert es, dass Sie Locker Ihr Grundkonzept 🙂
Versucht Goggling aber nicht genug Unterstützung auf, die zu.
Ich bin mit vordefinierten Bibliothek von einem unserer Geräte-Besitzer. Haben Sie eine Erklärung, wie :
unsigned char FamilySerialNum[0][8]
Dieser variable wird die Seriennummer des Gerätes in hexadezimal. Jetzt bin ich mit dieser Bibliothek in Qt zur Anzeige der Seriennummer in QLineEdit. Für die, die ich brauche, um zu konvertieren, um QString.
Versucht, mit QString::UTF8, strcpy(), sprintf() etc.. aber immer Datenmüll.
Also kann mir jemand empfehlen, einige Weg, um es getan.
- Können Sie versuchen mit: QString var = new QString( char* varTwo );?
- QString ist nicht C.
- Ich habe versucht, mit Ihrem Vorschlag. Es gibt eine Fehlermeldung "Konvertierung von 'QString*' to non-scalar type 'QString' angefordert
- Ich weiß, das ist nicht C, aber wir sollten einen Weg finden, verwenden Sie C in Qt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hallo Versuchen Sie die Funktion unter...
User1550798 die Antwort ist sehr nah, aber nicht ganz so funktioniert (einige Ergebnisse, die es produziert, sind beschädigt), da es nur konvertiert den Wert "0" eine null-gepolstert 2 Zeichen ausgegeben (z.B.: "00"). Anstelle einer single-digit-hex-Werte werden sollten, aufgefüllt mit einer null (sprich: "3" --> "03").
Versuchen Sie Folgendes statt:
int lengthOfString = strlen( reinterpret_cast(str) );//Fehler,wenn Sie versuchen, um die Länge wie "00889966"
Aus unsigned char* zu QString:
Vom QString zu unsigned char*:
str.toUtf8().data()
) wurde in regelmäßigen Abständen!