如果文件无法';不能打开,C++; 我使用FSturi>强的>用C++打开.txt文件。到目前为止,效果很好。但是,如果无法打开输入文件,我希望控制台显示一条错误消息。我该怎么做

如果文件无法';不能打开,C++; 我使用FSturi>强的>用C++打开.txt文件。到目前为止,效果很好。但是,如果无法打开输入文件,我希望控制台显示一条错误消息。我该怎么做,c++,fstream,C++,Fstream,片段: cin >> in_file_name ; ifstream in_file(in_file_name.c_str()); in_file_str.assign(istreambuf_iterator<char>(in_file), istreambuf_iterator<char>()); cin>>在文件名中; ifstream在_文件中(在_文件_name.c_str()中); 在文件中\u str.assign(istreambuf\

片段:

cin >>  in_file_name ;

ifstream in_file(in_file_name.c_str());

in_file_str.assign(istreambuf_iterator<char>(in_file), 
istreambuf_iterator<char>());
cin>>在文件名中;
ifstream在_文件中(在_文件_name.c_str()中);
在文件中\u str.assign(istreambuf\u迭代器(在文件中),
istreambuf_迭代器();
用于确定
ifstream
是否已成功打开。

ifstream in_文件(in_file_name.c_str());
ifstream in_file(in_file_name.c_str());
if( in_file.fail() ) {
    cerr << "Error!" << endl;
}
if(在_file.fail()中){
cerr所有标准iostream都支持到void*的转换,这允许进行测试。这意味着如果(!in_file){…}
使用
操作符!
来测试文件打开是否成功。例如:

std::ifstream fs(...);
if (!fs) {
    std::cerr << "Could not open file.\n";
}
std::ifstream fs(…);
如果(!fs){
std::cerr您可以使用

cin>>在文件名中;
ifstream在_文件中(在_文件_name.c_str()中);
如果(!in_file.is_open())
{

coutThis实际上是在调用重载的
操作符!
()。不管怎样,我都不是一个超级粉丝,因为它没有特别明确地说明它的含义。遗憾的是,您无法编写可移植代码来确定到底出了什么问题。
cin >>  in_file_name ;

ifstream in_file(in_file_name.c_str());
if(!in_file.is_open())
{
   cout<<"Can't open the file";
}