我正在使用fstream库与文件打交道。基本上,我需要知道某个文件是否存在。在c++在线文档中,关于open(),它写道:
返回值
无
如果函数无法打开文件,则为流设置failbit状态标志(如果使用成员异常注册了该状态标志,则可能抛出ios_base::failure)。
它说没有指定返回值。但在失败的情况下,会设置一个标志。我的问题是,我应该如何访问那个标志,或者更好地问,我应该如何查看open()
是否成功。
到目前为止,我的代码如下:
int Log::add()
{
fstream fileStream;
fileStream.open("logs.txt");
}
fileStream.is_open()
是什么?请参考http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open。 - Alexis Wilkefail
和bad
可以进行测试,但它并不能告诉你文件是否受保护、不存在或路径错误... - Alexis Wilke