C++读取文件时怎么判断是否已经到达文件结尾

c++
1690
2024/5/16 10:46:12
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,可以使用eof()函数来判断是否已经到达文件结尾。eof()函数会返回true表示已经到达文件结尾,否则返回false

以下是一个示例代码:

#include <iostream>
#include <fstream>

int main() {
    std::ifstream file("example.txt");

    if (!file.is_open()) {
        std::cerr << "Error opening file" << std::endl;
        return 1;
    }

    char c;
    while (!file.eof()) {
        file.get(c);
        if (!file.eof()) {
            std::cout << c;
        }
    }

    file.close();

    return 0;
}

在上面的示例中,我们打开了一个名为example.txt的文件,并使用while循环来读取文件内容。在每次循环中,我们检查file.eof()是否为false,如果为false,则继续读取文件内容并输出到控制台。当到达文件结尾时,file.eof()会返回true,循环结束。

需要注意的是,file.eof()不会在文件结尾之前返回true,而是在尝试读取文件内容时才会返回true。因此,在循环体中需要再次检查file.eof()以避免读取文件结尾之后的内容。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C++中stdin输入的性能优化技巧