标签:code ++ 之间 iterator bsp 删掉 ring str ios
1. 文本文件里面有很多单词(单词与单词之间以空格、换行符隔开,且不管单个单词的正确性),统计各单词出现的次数,删掉出现次数最少的那些
实现:fstream读入事先准备好的文件test.txt,存到C++的关联容器map,用单词string做key,出现的次数int做value,找到最小的value,然后回写到testout.txt
map<string,int> word_count; fstream rwfile; string str; int min = 0; rwfile.open("E:/code/C++/TestCPlus/test.txt",ios_base::in); if(!rwfile) { cout<<"open file error\n"; return; } while(rwfile>>str) { word_count[str] ++; int count = word_count[str]; if(min == 0) { min = word_count[str]; } if(min>count) { min = count; } } //文件中所有单词和次数都存到map里面了,且找到了最小次数 rwfile.close(); rwfile.open("E:/code/C++/TestCPlus/testout.txt",ios::out | ios::trunc); map<string,int>::iterator iter = word_count.begin(); while(iter != word_count.end()) { if(iter->second != min) { rwfile<<iter->first<<" "; } ++iter; } rwfile.close();
标签:code ++ 之间 iterator bsp 删掉 ring str ios
原文地址:https://www.cnblogs.com/taoXiang/p/12520090.html