重新认识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;
}