在C++中,可以使用std::ifstream
類來讀取二進制文件并檢測EOF。
以下是一個示例代碼:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("binary_file.dat", std::ios::binary);
if(!file.is_open()) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
char byte;
while(file.read(&byte, 1)) {
// process byte
}
if(file.eof()) {
std::cout << "End of file reached" << std::endl;
} else {
std::cerr << "Error reading file" << std::endl;
}
file.close();
return 0;
}
在上面的代碼中,我們首先打開一個二進制文件binary_file.dat
,然后使用while
循環讀取文件中的字節數據。當file.read(&byte, 1)
返回false時,表示已經讀取到文件末尾(EOF)。此時可以通過file.eof()
函數來檢測是否已經到達文件末尾。