"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

wortweises einlesen in c++

Aproxy 19.05.2005 - 12:06 868 5
Posts

Aproxy

Little Overclocker
Registered: Nov 2002
Location: earth
Posts: 82
Hi,

möchte einen string einlesen der ca. so aussieht "eins zwei drei\n" - wird eingegeben
das soll jetzt wortweise eingelesen werden.
das funktioniert zwar mit dem folgenden Konstrukt ganz gut - aber wenn zb. sowas kommt "eins zwei \n" also ein Leerzeichen vor dem retrun dann bleibt er in der cin eingabe hängen.

string a1[5];

while (cin.peek() != '\n')
{
cin >>input[a1];
a1++;
}

hat wer eine Idee - wie man das umgehen kann

samuel

.:: unnahbar ::.
Avatar
Registered: Jul 2000
Location: hagenberg
Posts: 2680
schon die tutorials hier angeschaut?

sam
Bearbeitet von samuel am 19.05.2005, 17:46

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Zitat von Aproxy
string a1[5];

while (cin.peek() != '\n')
{
cin >>input[a1];
a1++;
}
:confused: :confused:

Hängenbleiben bedeutet vermutlich, dass er auf das nächste Wort wartet.

Aproxy

Little Overclocker
Registered: Nov 2002
Location: earth
Posts: 82
ja genau er wartet auf die nächste eingabe

es darf nur kein leerzeichen nach der eingabe stehen.

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9820
string input;
getline(std::cin, input);

danach nach leerzeichen aufspalten sollte kein problem sein

Aproxy

Little Overclocker
Registered: Nov 2002
Location: earth
Posts: 82
ja das war auch mein zweiter Lösungsweg - aber wie nach leerzeichen aufsplaten ohne das ich gleich 20 Zeilen Code braucht, kenne mich leider viel zu schlecht aus dass ich weiß wie man das am besten löst
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz