//去除文件中的给定字符串 !!!
#include<iostream>
#include<fstream>
#include<iterator>
#include<algorithm>
#include<vector>
#include<string>
#include<map>
#include<set>
using namespace std;
void main()
{
map<string, int> words;
set<string>word_exclusion;//排出的字符串
word_exclusion.insert("a");
word_exclusion.insert("BBC");
word_exclusion.insert("President");
word_exclusion.insert("on");
word_exclusion.insert("to");
word_exclusion.insert("US");
ifstream in_file("C:\\Users\\Administrator\\Desktop\\in.txt");
if (!in_file )
{
cerr << "!! unable to open the necessery file.\n";
return;
}
istream_iterator<string> is(in_file);//迭代器
istream_iterator<string> eof;
vector<string> text;
copy(is, eof, back_inserter(text));//字符串自动加入容器最后
int count = 0;
for (int i = 0; i < text.size(); i++)//赋值,计算每个字符串的个数
{
if (word_exclusion.count(text[i]))continue;//判断是否为排出字符串
words[text[i]]++;//计数增加
}
//显示
map<string, int>::iterator it = words.begin();
for (; it != words.end(); it++)
cout << "key:" << it->first << " " << "value:" << " " << it->second << endl;
system("pause");
return;
}