c ++ std :: ifstream:检查字符是否可以读取

FSM*_*axB 8 c++ stream ifstream

有没有办法检查ifstream中是否有任何字符要读取,如果是,我该怎么做呢.如果您确定无法做到这一点,请告诉我.

编辑:我改变了我的问题更一般.

Cub*_*bbi 6

要在编辑后得到您要问的内容,可以使用peek()函数:

给定一个std::ifstreamf

   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";
Run Code Online (Sandbox Code Playgroud)

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