string-Klasse und Leerzeichen?
-
Hey
string s1; cin >> s1;Ausgabe (falls der Benutzer "Hallo Welt" eingibt)
nur Hallo
Warum wird denn das Leerzeichen einfach "abgeschnitten" - kann man das irgentwie verhindern

Thanks
-
cin liest die eingabe bis zum nächsten whitespace, funktionieren tut das mit strings via std::getline
#include <iostream> #include <string> using namespace std; int main () { string str; getline (cin, str); cout << str << "\n"; }Damit sollte die Eingabe auch mit leerzeichen gelesen werden.
Man könnte auch eine andere Variante der funktion nutzen bei der das abbruch-zeichen selbst angegeben wird, einfach als 3ter paramter als char. Standardmäßig ist das ein \n, also eine neue Zeile
-
Willst du eine ganze Zeile einlesen, kannst du std::getline(stream, string) nutzen.
Operator >> liest nur bis zum nächsten Whitespace. Das kann entweder mit dem Operator std::noskipws oder std::getline umgangen werden.
-
Hast Recht, hab irgentwie nen Denkfehler gehabt,
naja funktioniert jetzt, vielen Dank