用ifstream打开一个不存在文件导致fail.在clear和close之后open一个存在的文件,为何还是fail?

97jy059 97jy059 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#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都这样
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
97jy059
工具平台和程序库 24,850 成员 27,330 内容