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ß


  • Mod

    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?


  • Mod

    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?


  • Mod

    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;
    

Anmelden zum Antworten