关于fstream类打开文件的判断方法
最近使用了一下fstream这个类,发现在打开文件判断的时候,有一点小问题,自己不是很明白,希望大家解答一下。fstream fs("xxx.dat",ios::in|ios::out|ios::app);
if( !fs )
{
……
}
不论什么情况,也就是xxx.dat存在不存在的时候,都会执行if中的语句,这是为什么?我记得ifstream和ofstream都是使用这个方法进行判断的。
后来网上查了一下资料,说fstream不能使用if(fstream)来进行判断,需要使用is_open()这个方法。但没有说明具体为什么不能使用 if(fstream)这样的方法进行判断,请问为什么不行呢?谢谢大家。