C++中ctrl+Z问题

intmain(){vector<string>words;stringtemp;while(cin>>temp)words.push_back(temp);cout<<... int main()
{
vector<string> words;
string temp;
while(cin>>temp)
words.push_back(temp);
cout<<"number of words:"<<words.size()<<endl;

}
为什么要按回车以后再按Ctrl+Z才能结束输入?不按回车直接ctrl+z为什么不行?为什么没按回车的时候ctrl+z就会被当成一个字符串来处理,而按了回车再按ctrl+z的时候ctrl+z就不会被当成字符串来处理?
展开
 我来答
GTA小鸡
高粉答主

2018-07-06 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
while(cin>>temp)失败的条件是!cin,即cin.badbit、cin.failbit、cin.eofbit三者中有任意一者或以上被设置。Ctrl+Z会向控制台中输入一个EOF字符,cin读到该字符eofbit就会被设置,导致cin失败,结束循环。
更多追问追答
追问
什么意思?能不能详细回答一下我的那四个问题・_・?谢谢
为什么要先回车再ctrl+z,不能直接在输入的那行的末尾ctrl+z ?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式