legongju.com
我们一直在努力
2025-01-13 08:03 | 星期一

用ifstream实现文件内容的搜索

ifstream 是 C++ 中的一个类,用于从文件中读取数据

#include
#include 
#include

int main() {
    std::ifstream file("example.txt"); // 打开文件 "example.txt"
    std::string search_term = "search_keyword"; // 要搜索的关键字
    std::string line;
    int line_number = 0;
    bool found = false;

    if (file.is_open()) {
        while (std::getline(file, line)) { // 逐行读取文件
            line_number++;
            if (line.find(search_term) != std::string::npos) { // 如果找到关键字
                std::cout << "Found '"<< search_term << "' in line "<< line_number << ": "<< line<< std::endl;
                found = true;
            }
        }
        file.close(); // 关闭文件
    } else {
        std::cout << "Unable to open file"<< std::endl;
    }

    if (!found) {
        std::cout << "'"<< search_term << "' not found in the file"<< std::endl;
    }

    return 0;
}

这个程序首先打开名为 example.txt 的文件。然后,它逐行读取文件内容,并在每一行中搜索指定的关键字(在这个例子中是 search_keyword)。如果找到关键字,程序将输出包含该关键字的行及其行号。如果在文件中没有找到关键字,程序将输出相应的消息。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/103871.html

相关推荐

  • 如何优化ifstream的性能

    如何优化ifstream的性能

    std::ifstream 是 C++ 标准库中用于从文件读取数据的类 预先分配缓冲区大小:为了减少磁盘 I/O 操作,可以预先为 std::ifstream 分配一个足够大的缓冲区。这样,...

  • ifstream与文件流的深入探讨

    ifstream与文件流的深入探讨

    ifstream 和 file_stream 都是 C++ 标准库中用于处理文件的类,但它们之间存在一些差异。 ifstream:这是 C++ 标准库中的一个类,它继承自 istream 类。ifstream...

  • 用ifstream进行二进制文件读写

    用ifstream进行二进制文件读写

    ifstream 是 C++ 中的一个类,用于从文件中读取数据。要使用 ifstream 进行二进制文件读写,你需要以二进制模式打开文件,并使用 read() 和 write() 函数来读取和...

  • ifstream错误处理机制解析

    ifstream错误处理机制解析

    ifstream 是 C++ 标准库中的一个类,用于从文件中读取数据 打开文件失败:当使用 ifstream 对象打开一个不存在或无法访问的文件时,会发生这种错误。你可以通过检...

  • ifstream与C风格文件操作对比

    ifstream与C风格文件操作对比

    ifstream 是 C++ 中的一个类,用于从文件中读取数据,它属于 头文件。而 C 风格的文件操作是通过 C 语言中的 stdio.h 库函数实现的,例如 fopen(), fread(), fwr...

  • 如何处理progressbar的边界情况

    如何处理progressbar的边界情况

    处理进度条(progress bar)的边界情况时,需要考虑以下几点: 最小值和最大值:确保进度条的值在合理的范围内。通常,进度条的最小值为0,表示任务尚未开始,而...

  • progressbar在不同分辨率屏幕上的适配

    progressbar在不同分辨率屏幕上的适配

    resize 是一个常见的 CSS 属性,用于调整 HTML 元素的大小。然而,当涉及到不同分辨率的屏幕时,单纯使用 resize 可能不足以实现完美的适配。
    要实现更好的...

  • 用progressbar展示数据加载进度

    用progressbar展示数据加载进度

    progressbar 是一个 Python 库,可以帮助你在命令行界面中创建一个进度条。首先,你需要安装这个库:
    pip install progressbar2 接下来,你可以使用以下代码...