我无法将单词文件放入集合中。我可以读取文件,然后单词进入集合,但集合不会丢弃重复的单词。以下是我认为导致问题的代码片段。
using namespace std;
while(readText >> line){
set<string> wordSet;
wordSet.insert(line);
for (std::set<std::string>::iterator i = wordSet.begin(); i != wordSet.end(); i++)
{
cout << *i << " ";
}
}
示例文件是这样的 1 2 2 3 4 五 5
并且输出完全相同
答案 0 :(得分:4)
如评论中所述,您未正确使用std::set
。您需要在for
循环之外移动它和while
循环:
using namespace std;
set<string> wordSet;
while(readText >> line) {
wordSet.insert(line);
}
for (set<string>::iterator i = wordSet.begin(); i != wordSet.end(); i++) {
cout << *i << " ";
}