NeD*_*ark 3 c++ error-handling file
初始化file:
ifstream file("filename.txt");
Run Code Online (Sandbox Code Playgroud)
什么是if ( file.is_open() )和if (! file.fail() )?之间的区别?
我应该使用什么来确保文件是否已准备好进行I/O?
我们假设变量file包含文件流的对象.
is_open()如果先前的调用open()成功并且没有中间调用,则返回true close().在您的示例中,open()从构造函数中调用.
fail()如果failbit或badbit设置,则返回true rdstate.
failbit通常意味着转换失败.例如,您尝试读取整数,但下一个字符是一个字母.流是好的; 你可以阅读下一个角色,它会成功.您不希望failbit在打开文件后立即设置.
badbit 当流已损坏且下一个操作将失败时设置.