C++中怎么檢查文件流是否達(dá)到EOF

c++
小億
103
2024-04-18 10:44:05
欄目: 編程語言

在C++中,可以使用文件流對(duì)象的eof()函數(shù)來檢查文件流是否達(dá)到EOF(文件末尾)。eof()函數(shù)返回一個(gè)bool值,表示文件流是否已經(jīng)到達(dá)文件末尾。

示例代碼如下:

#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;
}

在上面的示例中,首先打開一個(gè)文件example.txt,然后使用while循環(huán)讀取文件中的內(nèi)容,直到文件流到達(dá)EOF。在循環(huán)中,我們使用file.get(c)來逐個(gè)字符讀取文件內(nèi)容,并在每次讀取之前都檢查文件流是否已經(jīng)到達(dá)EOF,以避免讀取文件末尾之后的無效字符。

0