Char oder String...



  • Hi Leute,
    nzahl ist eine String-Variable.
    Ich möchte gerne nzahl durch sich selbst PLUS den Stringbuchstaben, welches im String "t" an zweiter Stelle gespeichert ist erhöhen.
    Lasse ich das "String" weg, so funktioniert das zwar- mir wird dann aber der dezimale Asciiwert dazu addiert- das möchte ich nicht.
    Mit String wird jedoch der Fehler ausgegeben, dass die Funktion keinen "char" als ersten Parameter erlaubt.
    Obwohl es doch eigentlich ein String ist...

    Kann mir jemand helfen?

    nzahl=nzahl+String(t[2],1);
    

    cya
    David



  • der konstriktor passt nicht so ganz:

    explicit string ( );
    string ( const string& str );
    string ( const string& str, size_t pos, size_t n = npos );
    string ( const char * s, size_t n );
    string ( const char * s );
    string ( size_t n, char c );
    template<class InputIterator> string (InputIterator begin, InputIterator end);
    

    du solltest eher die 6. Variante nehmen, also

    string(1, t[2])
    


  • Um einen char an einen string anzuhängen geht auch push_back().



  • Oha- er gibt mir den selben Fehler nur umgekehrt...
    Zu Push_back() kann ich nichts im Netz finden...

    PS: t[1] ist ja kein char- ein Stringteil.



  • Ohh- es geht ganz ohne zweites Parameter:

    nzahl+=String(t[b]);
    

    Problem gelöst x.x.



  • Wenn nzahl und t ein string sind, würde das so gehen.

    nzahl.push_back(t[2]);
    

    push_back ist eine Memberfunktion von std::string.


Anmelden zum Antworten