编一个统计单词的有关问题总是报错
编一个统计单词的问题总是报错
统计一片英文文章每个单词出现的次数
#include <iostream>
#include <vector>
#include <map>
#include <fstream>
#include <iterator>
#include <stdlib>
using namespace std;
int main(int argc, char *argv[])
{
ifstream input( "c:\\temp\\bignumber.h ");
map <string, int> s_num;
for (istream_iterator <string> iter(input); iter != istream_iterator <string> (); ++iter)
{
s_num[*iter] += 1;
}
multimap <int, string> num_s;
for (map <string, int> ::iterator iter = s_num.begin(); iter != s_num.end(); ++iter)
{
num_s.insert(make_pair(iter-> second, iter-> first));
}
int i = 0;
for (multimap <int, string> ::reverse_iterator iter = num_s.rbegin(); (i < 20) && (iter != num_s.rend()); ++i, ++iter)
{
cout < < iter-> second < < " " < < iter-> first < < "\r\n ";
}
cout < < endl;
system( "PAUSE ");
return 0;
}
报错说NO stdlib file 这是怎么回事啊?
------解决方案--------------------
#include <string> 加了没啊??!!!
统计一片英文文章每个单词出现的次数
#include <iostream>
#include <vector>
#include <map>
#include <fstream>
#include <iterator>
#include <stdlib>
using namespace std;
int main(int argc, char *argv[])
{
ifstream input( "c:\\temp\\bignumber.h ");
map <string, int> s_num;
for (istream_iterator <string> iter(input); iter != istream_iterator <string> (); ++iter)
{
s_num[*iter] += 1;
}
multimap <int, string> num_s;
for (map <string, int> ::iterator iter = s_num.begin(); iter != s_num.end(); ++iter)
{
num_s.insert(make_pair(iter-> second, iter-> first));
}
int i = 0;
for (multimap <int, string> ::reverse_iterator iter = num_s.rbegin(); (i < 20) && (iter != num_s.rend()); ++i, ++iter)
{
cout < < iter-> second < < " " < < iter-> first < < "\r\n ";
}
cout < < endl;
system( "PAUSE ");
return 0;
}
报错说NO stdlib file 这是怎么回事啊?
------解决方案--------------------
#include <string> 加了没啊??!!!