Zeichen aus String löschen....Problem
-
Hey Forumler,
ich möchte ein Zeichen aus einem string löschen. Danach sollte seine Größe ja um 1 kleiner sein als vor dem löschen. Ich mache das wie folgt:
string s = "abc"; s.erase(0); cout<<s.size();
Mir liefert er jedoch als Ausgabe 0. Was ist da los?
mfg Golfi
-
s.erase(0, 1);
-
Noob_Der_Ersten_Stunde schrieb:
Mir liefert er jedoch als Ausgabe 0. Was ist da los?
Der erste Parameter der Methode gibt die Start-Position an (da hast du 0 übergeben), der zweite die Anzahl der zu Löschenden Zeichen. Der zweite ist default-parametrisiert und ist standardmäßig auf "lösche alle Zeichen ab der genannten Position (erster Parameter)" gesetzt; da du keinen zweiten Parameter übergeben hast, wird halt der default-Wert genommen - und somit werden alle Zeichen ab inklusive Position 0 gelöscht.
-
Dafür gibt es:
http://en.cppreference.com/w/cpp/string/basic_string/eraseEDIT:
Hatte ein 'a' vergessen.