如果无法打开文件,则显示错误消息,C ++

时间:2010-11-03 23:27:13

标签: c++ fstream

我正在使用 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>());

5 个答案:

答案 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) { ... }

相关问题