#include <iostream>
#include <fstream>
using std::cout;
using std::endl;
using std::ifstream;
void check_file_status(ifstream &ifs)
{
std::ios::iostate state;
state = ifs.rdstate();
if (state & std::ios::eofbit)
cout << endl << "EOF" << endl;
else if (state & std::ios::failbit)
cout << endl << "Non-Fatal I/O error" << endl;
else if (state &std::ios::badbit)
cout << endl << "Fatal I/O error" << endl;
}
int main()
{
ifstream ifs("d:\\data.txt");
if (!ifs) {
cout << "Error open file" << endl;
return 1;
}
char ch;
while (ifs.get(ch)) {
cout << ch;
check_file_status(ifs);
}
check_file_status(ifs);
ifs.close();
return 0;
}
/*
run:
c c++ java
EOF
*/