在C++20中,我们可以使用ranges库中的std::views::lines来按行读取文件。以下是一个示例代码:

#include <fstream>
#include <iostream>
#include <ranges>

int main() {
    std::ifstream file("example.txt");
    if (!file.is_open()) {
        std::cerr << "Failed to open file" << std::endl;
        return 1;
    }

    for (std::string_view line : std::ranges::istream_view<std::string>(file) | std::views::lines) {
        std::cout << line << std::endl;
    }

    return 0;
}

在这个示例中,我们打开了一个名为example.txt的文件,并使用std::ranges::istream_view将其转换为输入流视图。然后,我们使用std::views::lines按行遍历该视图,并输出每行的内容。

需要注意的是,std::views::lines返回的是一个视图,而不是一个容器。因此,在使用时需要注意不要对其进行修改操作。

c++20 按行读取文件

原文地址: https://www.cveoy.top/t/topic/sFF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录