我正在使用ifstream.我读到EOF位置位(我需要这样).
为什么然后不这样做:
// IN is ifstream file. CH is char. if (IN.eof()) { IN.seekg(ios::beg); IN.clear(); if (read((char*)&CH,sizeof(CH))) cout << "Succes."; else cout << "Not S."; }
读取功能随时都不成功.我尝试使用IN.setstate(ifstream :: goodbit)而不是IN.clear().但它是一样的,我是对的吗?
解决方法
像这样更改你的代码:
IN.clear(); IN.seekg(0,ios::beg);