标题:重新认识IO的条件状态
只看楼主
haha188
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-10-26
 问题点数:0 回复次数:0 
重新认识IO的条件状态

刚刚看到了“下标”行为的编程意义那里,利用关联容器来记录一个单词输入的次数,我就用了一个while循环来做,用ctrl+z来结束循环,运行到这还是好的,可下边再次使用输入流cin时就出现了错误——这个流不能用了。郁闷,用了大半个小时翻书才找出原因:使用crtl+z时就已经使输入流无效了!
没有办法,当时标准IO库那里就没有好好去学,结果又重新看了一遍。最终用cin.clear();解决。

/*
Name: 下标行为的编程意义
Copyright:
Author:
Date: 10-11-07 20:14
Description:
*/
#include <iostream>
#include <string>
#include <map>
#include <stdexcept>
using namespace std;
int main()
{
map<string, int> word_count;
string word;
while(cin>>word)
++word_count[word];
cout<<"你要查询哪个单词出现的次数:"<<endl;
string find;
cin.clear(); //将流中的所有状态值都重设为有效状态
cin>>find;
cout<<find<<"出现了"<<word_count[find]<<"次."<<endl;
system("pause");
return 0;
}

搜索更多相关主题的帖子: 状态 条件 认识 
2007-11-11 14:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-185245-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147310 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved