String aus Vector über Iterator-Zugriff in wxString wandeln
-
Servus,
ich bekomme es nicht hin, einen wxString zu bilden, obwohl die Konsolenausgabe genau der Text ist, den ich in den wxString packen will - was ist falsch?
// Teile des Vektors in je einer Zeile ausgeben for ( vector<string>::iterator iter = woerter.begin(); iter != woerter.end(); iter++ ) { //wxString mystring( wxT( iter ) ); //textCtrl->AppendText( wxT( *iter.c_str(), wxConvUTF8 ) ); cout << *iter << endl; //cout << mystring <<endl; }
-
Ich versuche nun seit geraumer Zeit es endlich ans Laufen zu bekommen, das Problem ist dass ich meinen fertigen String nicht einem wxString zuweisen kann. Entweder ich mache das ohne wxT() dann nörgelt der Compiler, dass dies ambigous ist, oder ich mache das mit wxT() dann nörgelt der Compiler, dass meine Variable innerhalb von wxT() nicht sichtbar im Scope ist.
// Teile des Vektors in je einer Zeile ausgeben for ( vector<string>::iterator iter = woerter.begin(); iter != woerter.end(); iter++ ) { strToPrint += *iter; strToPrint += "\n"; } // Kontrollanzeige in Konsole - geht cout << strToPrint << endl; // Teststring einem wxString zuweisen string teststr = "HAllo Fred"; // Transfer in anzeigbaren String //wxString strToShow = wxT("Hallo Egon ...."); // geht wxString strToShow = wxT( *teststr ); // Zeichenfläche neu belegen textCtrl->AppendText( strToShow ); }
-
Hallo,
for ( vector<string>::iterator iter = woerter.begin(); iter != woerter.end(); iter++ ) { strToPrint += *iter; strToPrint += "\n"; } // Kontrollanzeige in Konsole - geht cout << strToPrint << endl; // Teststring einem wxString zuweisen string teststr = "HAllo Fred"; // Transfer in anzeigbaren String //wxString strToShow = wxT("Hallo Egon ...."); // geht wxString strToShow(teststr.c_str()); // Zeichenfläche neu belegen textCtrl->AppendText( strToShow ); }
MfG,
Probe-Nutzer
-
Geht auch nicht:
call of overloaded ‘wxString(const char*)’ is ambiguous ...
-
http://wiki.wxwidgets.org/Converting_everything_to_and_from_wxString
std::string to wxString
std::string stlstring = "Hello world"; // assuming your string is encoded as UTF-8, change the wxConv* parameter as needed wxString mystring(stlstring.c_str(), wxConvUTF8);
-
Benutzt Du 2.8? Da finde ich 2.9 viel besser :). Das is quasi 3.0 als RC. Da geht das ohne die ganzen Conversion-Enums...
rya.
-
Servus,
ja ich nutze 2.8.x und in einem anderen Forum hat mir das einer mit wxT() etwas genauer erklärt und nun habe ich es verstanden, denke ich, jetzt ist mir auch klar, was dieses komische 'L' bei einigen Fehlermeldungen verloren hatte:
http://wxforum.shadonet.com/viewtopic.php?p=121178#121178Probleme habe ich nun nur, die Konsequenzen meiner Entscheidung, alles wenn möglich in UTF8 machen zu wollen, einzuschätzen.
-
Warum benutzt Du in wxWidgets überhaupt std::string?
Auf der anderen Seite probier mal 2.9... is viel besser was das konvertieren und nutzen von Strings angeht.
rya.
-
Scorcher24 schrieb:
Warum benutzt Du in wxWidgets überhaupt std::string?
Auf der anderen Seite probier mal 2.9... is viel besser was das konvertieren und nutzen von Strings angeht.
rya.Kann man 2.9 einfach anwenden ohne was am Code zu ändern?
-
Sillo schrieb:
Scorcher24 schrieb:
Warum benutzt Du in wxWidgets überhaupt std::string?
Auf der anderen Seite probier mal 2.9... is viel besser was das konvertieren und nutzen von Strings angeht.
rya.Kann man 2.9 einfach anwenden ohne was am Code zu ändern?
Es ist rückwärtskompatibel ja. Eventuell sollte man an 1-2 stellen was ändern weil es deprecated ist, aber schau Dir doch einfach das Changelog an und Du kannst doch jederzeit wieder gegen 2.8 linken ;).
rya.