AnsiString zu String is klar aber wie gehts andersrum?!



  • mahlzeit,

    ich hab Google bemüht, alle strto* methoden durchgesehen und das Forum gibt bei der Suche auch nichts her...

    Also wie wandelt man einen c-string wieder zurück in einen AnsiString?



  • Schau die mal die Konstruktoren von AnsiString an! Fällt dir was auf?



  • Schau dir auch mal die Implementierung des =-Operators für AnsiString an.



  • Die Umwandlung ist unnötig, da String ein Typdef für AnsiString ist



  • beim =-Operator hab ich mich jetzt ehrlich gesagt verarscht gefühlt... naja.

    @Sunday: wenn ich das jetzt richtig verstanden (und umgesetzt) habe, wolltest du mir damit sagen, dass der (überladene) Konstruktor von AnsiString auch char* akzeptiert 😉 also

    AnsiString Bla = meinstring.c_str(); (weil zeiger auf char)?



  • Vielleicht solltest du dir mal überhaupt über die Frage klar werden und unterscheiden zwischen

    char
    string
    String
    AnsiString
    CString
    QTString

    Das sind alles unterschiedliche Klassen bzw. Typen



  • ich bitte vielmals um verzeihung weil ich einen Datentyp in den Mund genommen habe den es beim BCB eh nicht gibt...

    ok machen wir's so. du gehst zur Beruhigung eine rauchen und ich schreibe meine Frage für dich nochmal genauer 🙂

    ich habe einen "string"(mit kleinem s). Die Methode, die ich anwenden möchte erwartet aber "AnsiString". Was nun?

    EDIT. Diesen string sollte ich nach Angaben hier im Forum via "c_str();" mit den Werten meiner "AnsiString"s füttern. hinter c_str() verbirgt sich, so sagte man mir, ein Zeiger auch nen char... daher mein "Lösungsansatz" eben...



  • Oklino schrieb:

    [...]
    EDIT. Diesen string sollte ich nach Angaben hier im Forum via "c_str();" mit den Werten meiner "AnsiString"s füttern. hinter c_str() verbirgt sich, so sagte man mir, ein Zeiger auch nen char... daher mein "Lösungsansatz" eben...

    getestet?
    funktionierts? (würde mich wundern wenn nicht)

    wegen Datentyp:

    Für C/C++ ist es schon wichtig ob mans Groß oder Klein schreibt.

    Aber die meisten werden wohl auch angenommen haben das du std::string meinst da eine Umwandlung von String<->AnsiString ja problemlos gehen sollte.


Anmelden zum Antworten