cin: wie viel gibt es zu lesen?
-
Mit cin kann man ja von der Standardeingabe lesen. Wenn der User z. B. "foo bar" eingibt erhalte ich mit:
std::string tmp; cin>>tmp; // jetzt steht foo in tmp cin>>tmp; // jetzt steht bar in tmpwie kann ich herausfinden ob es noch etwas zu lesen gibt.
Problem ist folgendes: User kann einen bliebig langen String mit beliebig vielen Leerzeichen eingeben und ich möchte alle "Wörter" lesen.
void echo() { while(es gibt noch was für cin zu lesen) { cin>>tmp; cout<<tmp; } }
-
Vertexwahn schrieb:
Mit cin kann man ja von der Standardeingabe lesen. Wenn der User z. B. "foo bar" eingibt erhalte ich mit:
std::string tmp; cin>>tmp; // jetzt steht foo in tmp cin>>tmp; // jetzt steht bar in tmpwie kann ich herausfinden ob es noch etwas zu lesen gibt.
Problem ist folgendes: User kann einen bliebig langen String mit beliebig vielen Leerzeichen eingeben und ich möchte alle "Wörter" lesen.
void echo() { while(es gibt noch was für cin zu lesen) { cin>>tmp; cout<<tmp; } }Gegenfrage, was spricht gegen "getline"? Oder hab ich jetzt was falsch verstanden?
-
Ich würd auch mal zu std::getline raten. Obwohl du das dort einfach erreichen kannst:
void echo() { while( cin >> tmp ) { cout<<tmp << "\n"; } }
-
getline ist gut :xmas1: