i eine while-Schleife und Code haben unterVerlassen Sie eine while-Schleife, cin. mit Strg-Z/Strg + D nicht funktioniert C++
string namn, word;
while(getline(cin, namn)){
istringstream iss(namn);
vector<string> v;
while(iss >> word){
v.push_back(word);
}
for(auto elements: v){
cout << elements << endl;
}
}
cout << "do something" <<endl;
, wenn ich den Code die Schleife laufen funktioniert gut, aber ich ctrl-Z nicht beenden können die Schleife (in Fenster)
ich habe auch die unten versucht:
int main(){
string namn;
string pris;
string antal;
vector<string> v;
while(cin >> namn >> pris >> antal){
v.push_back(namn);
v.push_back(pris);
v.push_back(antal);
}
// do something with the vector maybe print it
// i can not exit the loop and continue here
return 0;
}
i auch dritte Lösung versucht, aber es funktioniert nicht entweder:
int main(){
string name;
vector<string> v;
while(!cin.eof()&& cin.good()){
cin >> name;
v.push_back(name);
}
// after exiting the loop with ctrl-Z (in windows, ctrl-d in linux)
// do something with the vector, but it never goes here
}
Die Aufgabe, die ich tue oder lösen werde ist, dass Sie mehrere Eingaben in einer Zeile haben, zum Beispiel Name, Preis, Betrag. dann werde ich diese Elemente in einem Vektor speichern. Der Ausgang sollte mit der Verwendung von Strg-Z nicht quit oder etwas anderes eingeben.
Haben Sie die Eingabetaste nach ctrl-z gedrückt? Versuchen Sie, einen Bruch hinzuzufügen, wenn namn.empty() die Schleife mit einer leeren Zeile beendet. –