Konvertiere const char * in QString

11

Ich muss die Ausgabe einer Funktion vom Typ const char* verwenden und muss sie in QString umwandeln.

Hinweis: Innerhalb dieser Funktion sind dies Codezeilen, die das const char*

zurückgeben %Vor%

Dabei steht _foo für std::string .

Ich habe versucht, die folgenden Codezeilen zu verwenden, bekomme aber immer einen leeren String (eigentlich nicht leer, sondern nur die neuen Zeilenzeichen und vernachlässige alle anderen Zeichen).

%Vor%     
Mahmoud Hassan 29.12.2013, 11:42
quelle

1 Antwort

4

Der folgende Code sollte gut funktionieren. Ihr Problem ist höchstwahrscheinlich woanders. Bitte mach einen sauberen Build.

Der Fehler tritt an anderer Stelle in Ihrem komplexeren Code auf, den Sie nicht mit uns geteilt haben. Sie haben wahrscheinlich Probleme mit falsch eingestelltem _foo.

Wie Sie selbst bemerkt haben, können Sie die Schnittstelle nicht ändern, aber es ist besser, zu beachten, dass Sie in einer idealen Welt keine Standardstrings mit QStrings mischen würden. Sie würden nur QStrings insgesamt in Ihrem Code verwenden.

Auch wenn Sie aus irgendeinem Grund std oder rove char * types verwenden müssen, ist es besser, eine solche const-Umwandlung im Code nicht auszuführen, da QString mit const Strings umgehen kann, die an ihn übergeben werden.

main.cpp

%Vor%

main.pro

%Vor%

Ausgabe

%Vor%     
lpapp 29.12.2013, 11:44
quelle

Tags und Links