我正在使用 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>());
答案 0 :(得分:6)
ifstream in_file(in_file_name.c_str());
if( in_file.fail() ) {
cerr << "Error!" << endl;
}
答案 1 :(得分:3)
使用fail()
确定ifstream
是否已成功打开。
答案 2 :(得分:3)
您可以使用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";
}
答案 3 :(得分:2)
使用operator!
来测试文件是否成功。例如:
std::ifstream fs(...);
if (!fs) {
std::cerr << "Could not open file.\n";
}
答案 4 :(得分:1)
所有标准iostream都支持转换为void *,允许进行测试。这意味着您可以执行if(!in_file) { ... }
。