#include<iostream>
#include<fstream>
using namespace std;
void main()
{
char filename[50];
cout<<"请输入文件名及路径:";
cin>>filename;
ifstream file;
file.open(filename);
while(!file.is_open())
{
file.close();
cout<<"错误!文件不存在,请重新输入:";
cin>>filename;
file.open(filename);
}
char a[10];
file>>a;
cout<<a<<endl;
file.close();
}
这个程序用VC++2005编译,假设在C盘下有一个文件a.txt,内容是abcd。
运行该程序时,输入文件名c:\a.txt后回车,正常显示文件内容abcd,但第一次若输入文件名错误,提示重输,输入正确文件名后却不显示文件内容,这是为什么?请大家帮帮我,谢谢!
#include<fstream>
using namespace std;
void main()
{
char filename[50];
cout<<"请输入文件名及路径:";
cin>>filename;
ifstream file;
file.open(filename);
while(!file.is_open())
{
file.close();
cout<<"错误!文件不存在,请重新输入:";
cin>>filename;
file.open(filename);
}
char a[10];
file>>a;
cout<<a<<endl;
file.close();
}
这个程序用VC++2005编译,假设在C盘下有一个文件a.txt,内容是abcd。
运行该程序时,输入文件名c:\a.txt后回车,正常显示文件内容abcd,但第一次若输入文件名错误,提示重输,输入正确文件名后却不显示文件内容,这是为什么?请大家帮帮我,谢谢!
#include<fstream>
using namespace std;
void main()
{
char filename[50];
cout<<"请输入文件名及路径:";
cin>>filename;
ifstream file;
file.open(filename);
while(!file.is_open())
{
file.close();
cout<<"错误!文件不存在,请重新输入:";
cin>>filename;
file.open(filename);
if (file.is_open())
break;
}
cout<<file.rdbuf()<<endl;
file.close();
}
#include<fstream>
using namespace std;
void main()
{
char filename[50];
cout<<"请输入文件名及路径:";
cin>>filename;
ifstream file;
file.open(filename);
while(!file.is_open())
{
file.close();
cout<<"错误!文件不存在,请重新输入:";
cin>>filename;
file.open(filename);
}
cout<<file.rdbuf()<<endl;
file.close();
}