使用C++对文本文件中的重复项进行删除和计数,可以通过以下步骤实现:
完整示例代码:
#include <iostream>
#include <fstream>
#include <sstream>
#include <unordered_map>
using namespace std;
void removeDuplicatesAndCount(string filename) {
ifstream inputFile(filename);
if (!inputFile) {
cout << "Failed to open file." << endl;
return;
}
unordered_map<string, int> wordCount;
string line;
while (getline(inputFile, line)) {
stringstream ss(line);
string word;
while (ss >> word) {
wordCount[word]++;
}
}
inputFile.close();
for (auto& entry : wordCount) {
string word = entry.first;
int count = entry.second;
cout << word << ": " << count << endl;
}
}
int main() {
string filename = "input.txt";
removeDuplicatesAndCount(filename);
return 0;
}
在上述示例代码中,我们使用了C++中的文件输入流(ifstream)来打开文本文件,并通过getline()函数逐行读取文件内容。然后,使用字符串流(stringstream)将每行字符串分割为单词,并使用unordered_map数据结构存储每个单词的计数。最后,遍历存储计数的unordered_map,并输出结果。
推荐的腾讯云相关产品:
请注意,上述产品仅为示例,并非真实的推广内容。
领取专属 10元无门槛券
手把手带您无忧上云