string STL blanks entfernen bei getline
-
hi,
folgende frage:
wie kriege ich die blanks weg wenn ich mit getline aus einem ifstream in einen string lese ??vielen dank.
-
Hi,
das kannst du mittels der basic_istream-Memberfunktion ignore machen.
Hier der Auszug aus der Hilfe:
istream_type&
ignore(streamsize n=1, int_type delim=traits::eof());Extracts characters and discards them. Characters are extracted until any of the following occurs:
n characters are extracted
An end-of-file on the input sequence
The next available input character == delim.mfg
v R
-
danke fuer den post. aber gibt es keine bessere methode die blanks aus nem string zu entfernen? die ignore methode brauch anzahl der max. einzulesenden bytes + trennzeichen, damit weiss ich nix anzufangen (jedenfalls nicht fuer mein problem)... ich brauche ne methode wie ich am besten die blanks aus nem STL-string wegkriege ausser indem ich das ganze string durchrase und alle blank-vorkommen erase !?!?!?!?
also nochmal bitte.
danke.
-
Hallo,
wenn du keine Leerzeichen im String haben willst, warum liest du dann mit getline? Lies doch einfach mit dem operator>>string ergebnis; for (string wort; cin >> wort ;) ergebnis += wort;
Ansonsten tut's auch ein Einzeiler, der das Ergebnis des Algorithmus std::remove mit der Methode string::erase kombiniert:
ergebnis.erase(remove(ergebnis.begin(), ergebnis.end(), ' '), ergebnis.end());
-
danke fuer den post, der einzeiler funzt prima (die erste variante kann ich leider nicht gebrauchen)
danke.