I’m working with ifstream. I read until the EOF bit is set (I need it this way).
Why then doesn’t this work?
// IN is ifstream file. CH is char.
if (IN.eof()) {
IN.seekg(ios::beg);
IN.clear();
if (read((char*)&CH, sizeof(CH)))
cout << "Success.";
else
cout << "Not S.";
}
The read function is never successful. I tried using IN.setstate(ifstream::goodbit) instead of IN.clear(). But it still fails, am I right?
Change your code like this: