void filter_insert_map(ifstream& filter_file,map<string,int>& strcount)
{
set<string> set_str;
string filterword;
while(filter_file>>filterword)
set_str.insert(filterword);
for(set<string>::iterator iter=set_str.begin();
iter!=set_str.end();
++iter)
cout<<*iter<<endl;
string word;
while(cin>>word)
if(!set_str.count(word))
++strcount[word];
}
int main(int argc, const char *argv[])
{
ifstream filter_file;
string ignorefilename("ignore.txt");
filter_file.close();
filter_file.clear();
filter_file.open(ignorefilename.c_str());
cout<<"The filter words are"<<endl;
string tmp;
while(filter_file>>tmp)
cout<<tmp<<endl;
map<string,int> strcount;
cout<<"Please insert the string of map"<<endl;
filter_insert_map(filter_file,strcount);
map<string,int>::iterator iter=strcount.begin();
while(iter!=strcount.end())
{
cout<<iter->first<<" occur "<<iter->second<<" times "<<endl;
++iter;
}
system("pause");
return 0;
}
The filter words are
123
456
789
abc
def
hij
Please insert the string of map
abc
def
hij
999
888
777
666
aaa
bbb ccc ddd eee fff
12312
^Z
12312 occur 1 times
666 occur 1 times
777 occur 1 times
888 occur 1 times
999 occur 1 times
aaa occur 1 times
abc occur 1 times
bbb occur 1 times
ccc occur 1 times
ddd occur 1 times
def occur 1 times
eee occur 1 times
fff occur 1 times
hij occur 1 times
请按任意键继续. . .
C++ 用set容器过滤插入到map容器中的元素
最新推荐文章于 2024-03-23 21:56:17 发布