C++ std::ifstream:检查字符是否留待读取

标签 c++ stream ifstream

有没有办法检查 ifstream 中是否有任何字符可供读取,如果有,我该怎么做。如果您确定这是不可能的,请告诉我。

最佳答案

要在编辑后获得您要询问的内容,您可以使用 peek()功能:

给定一个名为 fstd::ifstream

if (f && f.peek() == EOF)
    std::cout << "Nothing left to read\n";
else
    std::cout << "There is something to read or the stream is bad\n";

但请记住,这不是一个“更一般”的问题,而是一个不同的问题(也就是说,将其应用于您的原始问题将是错误的)

关于C++ std::ifstream:检查字符是否留待读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16596830/

相关文章:

c++ - C++中的ifstream和ofstream错误

c++ - 替换链表头的问题

c++ - 为什么即使直到最后才定义实际类型,依赖名称也可以被认为是完整的

c# - block 状流。代码正确吗?需要第二双眼睛

c# - 如何转换 System.IO.Stream 中的 System.Byte[]?

C++ 帮助使用 ifstream 的 getline 函数

c++ - 程序应何时通知用户它无法打开文件?

c++ - 如何用VTK和C++绘制流线图?

c++ - time_t 和 tm 转换中的值错误

java - 如何在 Flink 中连接两个流并进行操作?