读书人

小白问一个有关问题关于good()函数的

发布时间: 2013-03-20 15:25:24 作者: rapoo

小白问一个问题,关于good()函数的
用ifstream载入一个txt文件,里面含有整型数据和字符,要用good()函数判断输入流文件是否正确,怎么做才能过good()函数?不能用其他的函数替代
[解决办法]
ifstream 中有一个流标志,如果你的文件打开出错(或者读取出错等一系列定义了的错误),则这个标志位就会被设置成bad标志,这样就说明流有问题。

good()就是返回这个流标志中正确标志位的值是不是有效的。
[解决办法]

// basic_ios_bad.cpp
// compile with: /EHsc
#include <iostream>

int main( void )
{
using namespace std;
bool b = cout.bad( );
cout << boolalpha;
cout << b << endl;

b = cout.good( );
cout << b << endl;
}

[解决办法]
bad和good并不是对应的
http://cplusplus.com/reference/ios/ios/bad/
ios流有多种状态,只有fail是和!运算符相对应的,其余的都没有替代

读书人网 >C++

热点推荐