C++eof意思
在C++中,eof
通常是指 "end of file",即檔案結束符。當使用C++的標準輸入/輸出流庫讀取檔案時,如果到達了檔案的末尾,就會觸發檔案結束條件,此時 std::ifstream
對象的 eof
成員函式將會返回 true。
例如,以下代碼使用 std::ifstream
讀取一個檔案,並使用 eof
成員函式來判斷是否到達檔案末尾:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("example.txt"); // 打開檔案
if (file.is_open()) {
std::string line;
while (std::getline(file, line) && !file.eof()) { // 讀取一行直到檔案結束
std::cout << line << std::endl;
}
file.close(); // 關閉檔案
} else {
std::cerr << "Failed to open file" << std::endl;
}
return 0;
}
在這個例子中,std::getline
函式用於讀取一行,而 !file.eof()
用於判斷是否到達檔案末尾。如果 eof
返回 true,表示已經到達檔案末尾,不再讀取數據。
需要注意的是,eof
成員函式在讀取操作之後立即檢查,因為它設定了一個內部標誌,以指示是否到達檔案末尾。如果讀取操作成功,即使沒有到達檔案末尾,eof
也會返回 true。因此,通常應該在讀取操作之後立即檢查 eof
,以確保它的值是有效的。