Hmm int in string umwandeln ! Fehler !
-
Hallo
Bei diesem Code :long int memor = get_mem_total(); stringstream ss; ss<<memor; string memory_id; ss>>memory_id; textctrl2->SetValue(memory_id);kommt dieser Fehler !
/home/huseyin/SystemInfs/base.cpp|51|Fehler: keine passende Funktion für Aufruf von »wxTextCtrl::SetValue(std::string&)«| /home/huseyin/SystemInfs/base.cpp|51|Anmerkung: Kandidat ist:| /usr/include/wx-2.8/wx/textctrl.h|303|Anmerkung: virtual void wxTextCtrlBase::SetValue(const wxString&)| /usr/include/wx-2.8/wx/textctrl.h|303|Anmerkung: keine bekannte Umwandlung für Argument 1 von »std::string {aka std::basic_string<char>}« nach »const wxString&«| ||=== Build finished: 4 errors, 0 warnings ===| Hmm habe es ja in string umgewandelt arbeite mit wxWidgets sollte aber unwichtig sein!
-
textctrl2->SetValue(wsString( memory_id.begin(), memory_id.end() ));oder so ähnlich - je nach dem, was für konstruktoren wsString bereitstellt...
bb
-
Schau doch einfach in die Dokumentation. Ein bischen selbstständig musst du bei GUI-Frameworks schon sein, sonst fragst du jeden Tag.
Also ...
textctrl2->SetValue(wxString::Format("%d", get_mem_total()));Sollte machen was du willst.
-
Wenn dein Compiler schon entsprechenden C++11 Support hat, könntest du außerdem gleich std::to_string verwenden.
-
Jetzt kommt dieser Fehler :
/home/huseyin/SystemInfs/base.cpp|51|Fehler: keine passende Funktion für Aufruf von »wxString::Format(const char [3], long int)«| /home/huseyin/SystemInfs/base.cpp|51|Anmerkung: Kandidat ist:| /usr/include/wx-2.8/wx/string.h|1208|Anmerkung: static wxString wxString::Format(const wxChar*, ...)| /usr/include/wx-2.8/wx/string.h|1208|Anmerkung: keine bekannte Umwandlung für Argument 1 von »const char [3]« nach »const wxChar* {aka const wchar_t*}«| ||=== Build finished: 4 errors, 0 warnings ===|Also ich such ja nach einer funktion bei der man in TextCtrl direkt integer ausgeben kann aber finden tu ich nix ...
-
Die Fehlermeldung sagt dass dein const char* und in const wxChar* konvertierbar ist und dass wxChar ein wchar_t ist.
wchar_t ist ein Unicode-String und bedeutet dass du vor den String ein L hängen musst damit der Compiler den richtigen String generiert (L"Hallo Welt").Wenn dein Compiler schon entsprechenden C++11 Support hat, könntest du außerdem gleich std::to_string verwenden.
in std::string konvertieren und dann gleich in das nächste Stringformat? Besser nicht.

-
Also wie soll ich bei der Variable ein L vorne dran machen?
-
Ja, der String selbst soll ein Widechar-String sein.
textctrl2->SetValue(wxString::Format(L"%d", get_mem_total()));Am Besten packst du alle Strings, die du mit wxWidgets benutzt, in ein
wxT()ein, dann wird das automatisch angepasst.
Also:textctrl2->SetValue(wxString::Format(wxT("%d"), get_mem_total()));
-
Vielen Dank hat geklappt hab jetzt ander Fehler aber hat nichts mehr mit dem zu tun.
Liebe Grüsse