Ifstream - Reset EOF bit

Ifstream - Reset EOF bit

本文关键字:bit EOF Reset Ifstream      更新时间:2023-10-16

我正在使用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.";    
}

read功能不是任何时候都能成功的。我也尝试使用IN.setstate(ifstream::goodbit)而不是IN.clear()。但它是一样的,我是对的吗?

这样更改代码:

IN.clear();
IN.seekg(0, ios::beg);