📌  相关文章
📜  C++程序在文件中打印唯一单词(1)

📅  最后修改于: 2023-12-03 14:59:52.224000             🧑  作者: Mango

C++程序在文件中打印唯一单词

有时候,我们需要从一个文件中提取出唯一的单词,并将其打印出来。在这个介绍中,我将向你展示一个用C++编写的程序示例,可以实现这个功能。

程序示例

下面是一个示例程序,用于打印一个文件中的唯一单词:

#include <iostream>
#include <fstream>
#include <sstream>
#include <unordered_set>

int main() {
    std::ifstream inputFile("input.txt"); // 替换为你的输入文件名

    if (!inputFile) {
        std::cerr << "无法打开输入文件." << std::endl;
        return 1;
    }

    std::string line;
    std::unordered_set<std::string> uniqueWords;

    while (std::getline(inputFile, line)) {
        std::istringstream iss(line);
        std::string word;

        while (iss >> word) {
            uniqueWords.insert(word); // 插入单词到unordered_set中
        }
    }

    for (const auto& word : uniqueWords) {
        std::cout << word << std::endl; // 打印唯一的单词
    }

    return 0;
}
程序说明

以下是程序中的关键点解释:

  1. 首先,我们使用<iostream><fstream>头文件,用于读取文件。
  2. 然后,我们使用<sstream>头文件中的istringstream类,用于将字符串分割成单词。
  3. 使用<unordered_set>头文件中的unordered_set容器,用于存储唯一的单词。
  4. 程序中的input.txt是输入文件的文件名。请确保该文件与程序在同一目录下,或者使用正确的文件路径。
  5. 我们首先尝试打开输入文件。如果无法打开,程序将输出错误消息并返回 1。
  6. 接下来,我们使用std::getline从文件中逐行读取内容。
  7. 对于每一行,我们使用istringstream将其分割为单词,并将其插入到unordered_set中。
  8. 最后,我们使用范围循环遍历unordered_set中的唯一单词,并将其打印出来。
使用方法
  1. 将上述示例程序复制到一个.cpp文件中(例如unique_words.cpp)。
  2. 创建一个输入文件(例如input.txt),并在其中输入一些文本。确保每个单词之间都有空格或标点符号分隔。
  3. 编译并运行程序,在命令行中输出唯一的单词。
  4. 你可以根据需要修改程序中的文件名和路径。

这是C++程序在文件中打印唯一单词的一个基本示例。你可以在此基础上进一步扩展程序的功能,例如过滤掉常用单词、统计单词频率等。希望这个介绍对你有所帮助!