如果文件无法';不能打开,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";
}