Ifstream - Reset EOF bit
Ifstream - Reset EOF bit
我正在使用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);
相关文章:
- 如何确定我已使用非编码文件到达 EOF?
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- std::ifstream::read 不会读取所有 512 字节,并设置 EOF 和失败位
- 而(!inputfile.eof())只读取第一行?
- EOF有更安全的替代方案吗?它在我的情况下不起作用
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 如何在 EOF 之前从文件中读取并将其放入字符串中?
- 如何在从文件中读取整数时使用 file.eof()?
- "eof"可以设置为流吗?
- 吃完 EOF 后重复使用 std::cin
- 文件处理,eof() 定义
- std::cin 在读取 EOF 并清除后不再读取
- 为什么 EOF 在循环扫描期间没有终止?
- cin.clear()是否保留EOF
- 而(getline(fin,str)){}即使在到达eof之后仍在处理数据
- 通过终端在文件中输入时检测EOF(文件结束)时出现问题
- 为什么如果我从键盘输入EOF克里昂不要在运行窗口打印程序的输出?
- WinAPI IcmpSendEcho on 64-bit platform
- std :: getline部分读取第一行,并设置eof-bit
- Ifstream - Reset EOF bit