Und immer wieder die Leerzeichen
-
Leute, haltet mich für doof, aber...
Aus irgendeinem Grund kriege ich es nicht hin, cin Leerzeichen miteinzulesen.string text; cin.noskipws(); cin >>textWill der Compiler mit der Meldung "noskipws ist kein Element von istream" nicht annehmen.
cin >>noskipws >>text;oder
getline(cin, text)Nimmt der Compiler zwar an, beim Einlesen wird aber die Benutzereingabe allerdings einfach übersprungen.
Was soll ich tun? Oder besser: Gibt es eine Möglichkeit, den Text einzulesen, ohne dass jedes Zeichen einzeln eingelesen werden muss?
-
Also eigentlich müsste getline funktionieren...
Und das tut es bei mir auch:
#include <iostream> #include <string> int main () { std::string s; std::getline (std::cin, s); std::cout << s.find (0x20) << std::endl; }
-
Wie gesagt, bei mir geht es nicht, wenn das Programm an der Stelle ankommt, wird nichst eingelesen, die Eingabe wird einfach übersprungen.
-
Leer vll. mal den Input-Stream.
std::cin.flush();
-
lol...
Irgendwas ist strubbelig mit dem Teil:
"flush ist kein Element von istream"Edit:
Nur damit es niemand fragt: ich habe schon häufiger komplette Programme damit kompiliert, wenn es also an der Entwicklungsumgebung liegt, dann tritt dieser Fehler erst seit kurzem auf.
-
Der Knirps schrieb:
lol...
Irgendwas ist strubbelig mit dem Teil:
"flush ist kein Element von istream"Ist es auch nicht.
Nimm mal ignore.
-
GPC schrieb:
Ist es auch nicht.
Da bin ich ja beruhigt

GPC schrieb:
Nimm mal ignore.
Danke, das funktioniert!