Wie liest man cin mit Leerzeichen bis zu einem Zeilenumbruchzeichen?

Lesezeit: 1 Minute

Ich möchte von cin in C++ von der aktuellen Position bis zu einem Zeilenumbruchzeichen in eine Zeichenfolge lesen. Die zu lesenden Zeichen können Leerzeichen enthalten. Mein erster Durchgang schlägt fehl, weil er auf dem ersten Feld stoppt:

string result;

cin >> result;

Wenn cin angegeben ist:

(cd /my/dir; doSometing)\n

Das variable Ergebnis erhält nur:

(cd

Ich würde denken, dass ich in der Lage sein sollte, Stream-Manipulatoren zu verwenden, um dies zu erreichen, aber skipws war nicht ganz richtig, da es Wagenrückläufe mit Leerzeichen und Tabulatoren einwirft, und es klingt so, als ob führende Leerzeichen übersprungen werden sollen.

Vielleicht muss ich so etwas wie streambuf verwenden?

streambuf buf;

cin >> buf;

std::string str; 
std::getline( std::cin, str);

  • Hinweis (da ich gerade davon verbrannt wurde): Scheint nicht mit AIX 5.1 zu funktionieren. musste ich benutzen fgets definiert in stdio.h.

    – Peter

    28. September 2010 um 22:38 Uhr

1013050cookie-checkWie liest man cin mit Leerzeichen bis zu einem Zeilenumbruchzeichen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy