通过输入空行退出循环

时间:2016-10-30 03:11:42

标签: c++

输入空白行后,循环不会中断。

string temp;
cin >> temp;
while (!temp.empty()) {
    cout<<"Hello"<<endl;
    cin>>temp;
}

当我不提供输入并按下回车时,它应退出循环。请帮助我。

2 个答案:

答案 0 :(得分:0)

尝试break命令 continue跳过循环的当前迭代

答案 1 :(得分:0)

cin flag没有要填写的字符时,

failbit会引发input stream,并且永远不会继续尝试extract 1}}来自input stream的字符。您可以使用getline( cin, temp )实现目标。 getline()会在deliminating中读取character stream,然后即使stream中没有其他字符,也会将其丢弃,只留下temp }空,并从0返回temp.empty()

string temp;
getline( cin, temp );
while (!temp.empty()) {
    cout<<"Hello"<<endl;
    getline( cin, temp );
}
  

http://www.cplusplus.com/reference/istream/istream/operator-free/