Normales Zeichen in wxString konvertieren
-
Hallo zusammen,
habe gerade das Problem, dass ich ein Zeichen in eine wxString - Variable kopieren möchte und es geht nicht.
Habe folgenden Code versucht:
dlgTitle = (char *) (quell_puffer_ptr+ii+1);
Habe im Netz einen Beitrag gefunden, dass man auch folgendermaßen ein char in ein wxString konvertieren kann:
const char* ascii_str = "Some text"; wxString string(ascii_str, wxConvUTF8);
Leider funktioniert das bei mir auch nicht.
Die wxString Variable dlgTitle lege ich folgendermaßen an:wxString *dlgTitle = new wxString()
Kann mir einer sagen, wie ich die Zeichen, die durch (char
(quell_puffer_ptr+ii+1) referenziert werden, in die Variable dlgTitle rein bekomm? Ist wahrscheinlich trivial, doch bei mir willst nicht funktionieren
Vielen Dank für die Antworten.
Gruß
-
const char* ascii_str = "Some text"; wxString string = ascii_str;
solange es ein const char * ist, müsste das klappen.
-
Danke für deine Antwort.
Wenn ich das Konzept von dir wähle, dann bringt er mir folgenden Fehler:
error C2440: '=' : 'const char *' kann nicht in 'class wxString *' konvertiert werden
Wenn ich es mit einem typecast probiere, also
dlgTitle = (wxString*) str;
dann kann ich zwar durchcopmilieren, aber beim Ausführen schmiert mir das Programm dann gnadenlos ab!
Hast du/ihr vielleicht noch andere Lösungsvorschläge?
-
Erstelle keine Strings mit new dürfte wohl für den Anfang ausreichen.
Und ansonsten, lern mit Pointern umgehen. Wenn du auf den Inhalt zugreifen willst, musst du ihn dereferenzieren.
-
Ich hatte am Anfang die Variante, dass ich die wxString Variable ohne new angelegt habe. Sobald ich aber versuche dieser Variablen dann einen Wert zuzuordnen, dann hängt dich das Programm schon beim Start auf.
Mal was anderes. Wenn ich ein Zeichen, sagen wir
wxString String; char str = "Test"; String = str;
nach dem Code hier zuweise, wie kann ich dann die String Variable die nicht mit new angelegt wurde einer Variablen zuordnen die mit new angelegt wurde?
also
wxString test = new wxString(); test = String;
Wie kann man sowas zum laufen bringen?
-
Sich mit Pointern beschäftigen, und verstehen, wann man new nutzt und wann nicht.
Das hat aber eigentlich nix mit Strings im allgemeinen zu tun.*test = string;