Stringproblem aus Stringteile in einen anderen kopieren?



  • will ein wort aus einem string in einen tempstring speichern beim debuggen scheint das wort im tempstring zu stehen nur bei der ausgabe kommt nichts raus?

    string temp;
    string bla;
    
    i = 0;
    pos = 0;
    
    if (isalpha(bla[pos])){
            while(isalpha(bla[pos])) {
                temp[i] = bla[pos];
                ++pos;
                ++i;
            }
           temp[i] = '\0';
           cout<<temp;
    
    }
    

    thx



  • wenn temp vorher leer ist:
    operator[] vom string legt keinen neuen speicher an. du musst die neuen buchstaben mittels push_back anlegen. oder sieh dir im debugger mal size von temp an, dann verstehst du's auch.
    also

    while (isalpha(bla[pos])) {
      temp.push_back(bla[pos++]);
    }
    

Anmelden zum Antworten