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*
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%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.
Tags und Links c++ qt qstring qtcore const-cast