用ifstream打开一个不存在文件导致fail.在clear和close之后open一个存在的文件,为何还是fail?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string fn;
cout<<"Enter file name:";
cin>>fn;
ifstream READ(fn.c_str());
if(READ.fail()){
cerr<<"open "<<fn<<" failed.try again\n";
READ.clear();
READ.close();
cout<<"Enter file name:";
cin>>fn;
READ.open(fn.c_str());
if(READ.good()) cout<<"good\n";
else cout<<"unfortunately\n";
}
}
E:\TEMP>test
Enter file name:vc7.txt
E:\TEMP>test
Enter file name:aaaaa
open aaaaa failed.try again
Enter file name:vc7.txt
unfortunately
borland和.net都这样
#include <fstream>
#include <string>
using namespace std;
int main()
{
string fn;
cout<<"Enter file name:";
cin>>fn;
ifstream READ(fn.c_str());
if(READ.fail()){
cerr<<"open "<<fn<<" failed.try again\n";
READ.clear();
READ.close();
cout<<"Enter file name:";
cin>>fn;
READ.open(fn.c_str());
if(READ.good()) cout<<"good\n";
else cout<<"unfortunately\n";
}
}
E:\TEMP>test
Enter file name:vc7.txt
E:\TEMP>test
Enter file name:aaaaa
open aaaaa failed.try again
Enter file name:vc7.txt
unfortunately
borland和.net都这样
...全文
相关推荐
c++ 文件操作(fstream)
c++ 文件操作 fstream ifstream ofstream
c++编写的读取两个文件内容并相加读入到另外一个文件中
这是我用c++编写的程序,首先分别从两个文件中读取文件中的数据,然后再将这两个文件中的数据相加,并把和写到另外一个文件中,适合正在纠结与文件读写的学者
C++文件操作详解(详细讲述fstream类的使用)
讲解文件操作的类fstream 并对ifstream和ofstream一并做讲解
C++流操作之fstream用法介绍
详细介绍了C++流操作之fstream的用法,有需要的朋友可以参考一下
C++逐行读取数据数组
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组


工具平台和程序库
