输入空白行后,循环不会中断。
string temp;
cin >> temp;
while (!temp.empty()) {
cout<<"Hello"<<endl;
cin>>temp;
}
当我不提供输入并按下回车时,它应退出循环。请帮助我。
答案 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/