Jak*_*ake 52 c++ file-io ifstream
在ifstream
C++的情况下,在什么条件failbit
和badbit
标志设置?
gah*_*cep 62
当错误与操作本身的内部逻辑相关时,failbit通常由输入操作设置,因此可以对流进行其他操作.虽然通常在错误涉及流的完整性丢失时设置badbit,但即使对流执行不同的操作,也可能持续存在.badbit可以通过调用成员函数bad来独立检查.
在简单的话,如果你得到一个号码时,希望取回信件,它的failbit
.如果发生严重错误,则会破坏从流中读取的能力 - 这是一个错误badbit
.
除了提到的旗帜,还有第三个非常相似 - eofbit
.可以使用多种功能检查状态:ios::fail
,ios::good
和ios::bad
您也可以在MSDN资源上熟悉iostream库.
最后,如果您在从文件读取(或访问某个文件或目录)时搜索如何处理所有错误位和异常的正确解决方案,我强烈建议您阅读一篇非常全面且写得很好的文章" 在C++中读取文件 " 使用ifstream:正确处理badbit,failbit,eofbit和perror() ",最后你将找到一些理想的解决方案.这篇文章确实值得一读.