我正在使用fstream用 C++ 打开 .txt 文件。到目前为止,它工作得很好。但是,如果无法打开input_file,我希望控制台显示错误消息。我该怎么办?
片段:
cin >> in_file_name ;
ifstream in_file(in_file_name.c_str());
in_file_str.assign(istreambuf_iterator<char>(in_file),
istreambuf_iterator<char>());
ifstream in_file(in_file_name.c_str());
if( in_file.fail() ) {
cerr << "Error!" << endl;
}
用于fail()
确定是否ifstream
成功打开。
你可以使用is_open方法
cin >> in_file_name ;
ifstream in_file(in_file_name.c_str());
if(!in_file.is_open())
{
cout<<"Can't open the file";
}
用于operator!
测试文件打开是否成功。例子:
std::ifstream fs(...);
if (!fs) {
std::cerr << "Could not open file.\n";
}
所有标准 iostream 都支持转换为 void*,这允许进行测试。这意味着你可以做到if(!in_file) { ... }
。