C++中怎么检查文件流是否达到EOF

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

在C++中,可以使用文件流对象的eof()函数来检查文件流是否达到EOF(文件末尾)。eof()函数返回一个bool值,表示文件流是否已经到达文件末尾。

示例代码如下:

#include <iostream>
#include <fstream>

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

    if (!file.is_open()) {
        std::cout << "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循环读取文件中的内容,直到文件流到达EOF。在循环中,我们使用file.get(c)来逐个字符读取文件内容,并在每次读取之前都检查文件流是否已经到达EOF,以避免读取文件末尾之后的无效字符。

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

推荐阅读: c++中requires的用法是什么