を働いていないCTRL-Z/CTRL-Dを使用して、私は、whileループとコード whileループ、cinを終了します。 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;
の下を持っている私は、コードを実行すると、ループが正常に動作しますが、私は、Ctrl-Zを使用してループを終了することはできません(中私はまた、第三の溶液Sを試してみました
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;
}
が、それはどちらか動作していない:窓)
また、私はこの下に試してみました
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
}
私がやっている、または解決しようとしているタスクは、名前、価格、金額などの行に複数の入力があることです。それらのアイテムをベクトルに格納します。出口はctrl-zを使って終了しないでください。
ctrl-zの後にEnterキーを押しましたか? namn.empty()が空の行でループを終了する場合は、ブレークを追加してみてください。 –