char in string umwandeln



  • Hi!
    Hab vor zwei Tagen erst mit C++ angefangen und verzweifle gerade beim Umwandeln eines Chars in einen String 😞
    Ich möchte nämlich ein char an ein schon vorhandenes Wort hängen, und da ich keine passende Funktion dazu finden konnte, wollt ich eigentlich strcat benutzen, nur da meckert der Compiler. Kann mir jemand helfen?

    Gruß
    Becki



  • string str( "hall" );
    str += "o";
    
    //oder falls du char* brauchst
    char* str = "hall";
    string tmp( str );
    tmp += "o";
    char* neuer_str = tmp.c_str();
    


  • char dein_ascii = "a";
    String dein_string =" Hirsch";
    
    dein_string=dein_ascii+dein_string;  //andersrum geht auch ^^
    

    //Edit: schonwieder zu spät 😕 was ist nur heut los?
    //Edit2: Thx @ Michael E.



  • ink3n: Bitte keine Variablen- und Konstantennamen mit einem Unterstrich anfangen.



  • Hi!
    Dankeschön für die schnelle Antwort 🙂
    Sowas in der Art hab ich schon ausprobiert, hat leider nicht geklappt. Ich hätte vielleicht dazusagen sollen, daß ich den char vorher nicht kenne, tut mir Leid. Es wäre also eine Variable.

    char wort[255]="geht leider nich";
    	char ch ;
          ch ='t';
    	wort+=ch;
    

    Lieben Gruß
    Becki
    PS: oder stell ich mich nur besonders doof an? 😉



  • Becki schrieb:

    Hi!
    Dankeschön für die schnelle Antwort 🙂
    Sowas in der Art hab ich schon ausprobiert, hat leider nicht geklappt. Ich hätte vielleicht dazusagen sollen, daß ich den char vorher nicht kenne, tut mir Leid. Es wäre also eine Variable.

    char wort[255]="geht leider nich";
    	char ch ;
          ch ='t';
    	wort+=ch;
    

    Lieben Gruß
    Becki
    PS: oder stell ich mich nur besonders doof an? 😉

    du stellst dich leider besonders doof an, da man nur std::string über + mit einander verbinden kann.

    char wort[] = "geht leider nich";
        char ch  = 't';
        string str(wort, strlen(wort) +1);
        str[str.length() -1] = ch;
    

    oder (vllcht. schneller)

    char wort[] = "geht leider nich";
        char ch  = 't';
        size_t len = strlen(wort) +1;
        string str(wort, len--);
        str[len] = ch;
    

    mfg



  • Hallo!
    Prima, danke für die Antwort!
    Die Zeile mit dem + stand auch nur für alles, was ich schon in meiner Verzweiflung ausprobiert hab 🙂
    Liebe Grüße
    Becki


Anmelden zum Antworten