请高手帮忙看一个C++程序出错在哪:
#include<iostream>#include<fstream>#include<cstdlib>intmain(){usingnamespacestd;chari...
#include <iostream>
#include <fstream>
#include <cstdlib>
int main()
{
using namespace std;
char infile[256], outfile[256],ch,a;
ifstream fin;
ofstream fout;
do
{
cout<<"请输入要作为输入文件的文件名:";
cin>>infile;
fin.open(infile);
fin.get(ch);
while(!fin.eof())
{
cout<<ch;
fin.get(ch);
}
fin.close();
cout<<endl;
cout<<"是否需要再编辑文件?(y/n)";
cin>>a;
}while((a!='n')&&(a!='N'));
return 0;
}
这个程序第一次迭代可以执行,但是第二次就不行了。详细请看图。
我的分不多,谢谢大家了!
补个图。 展开
#include <fstream>
#include <cstdlib>
int main()
{
using namespace std;
char infile[256], outfile[256],ch,a;
ifstream fin;
ofstream fout;
do
{
cout<<"请输入要作为输入文件的文件名:";
cin>>infile;
fin.open(infile);
fin.get(ch);
while(!fin.eof())
{
cout<<ch;
fin.get(ch);
}
fin.close();
cout<<endl;
cout<<"是否需要再编辑文件?(y/n)";
cin>>a;
}while((a!='n')&&(a!='N'));
return 0;
}
这个程序第一次迭代可以执行,但是第二次就不行了。详细请看图。
我的分不多,谢谢大家了!
补个图。 展开
2个回答
展开全部
close前需要clear一下。
fin.clear();
fin.close();
修改 后:
#include <iostream>
#include <fstream>
#include <cstdlib>
int main()
{
using namespace std;
char infile[256], outfile[256],ch,a;
ifstream fin;
ofstream fout;
do
{
cout<<"请输入要作为输入文件的文件名:";
cin>>infile;
fin.open(infile);
fin.get(ch);
while(!fin.eof())
{
cout<<ch;
fin.get(ch);
}
fin.clear();
fin.close();
cout<<endl;
cout<<"是否需要再编辑文件?(y/n)";
cin>>a;
}while((a!='n')&&(a!='N'));
return 0;
}
fin.clear();
fin.close();
修改 后:
#include <iostream>
#include <fstream>
#include <cstdlib>
int main()
{
using namespace std;
char infile[256], outfile[256],ch,a;
ifstream fin;
ofstream fout;
do
{
cout<<"请输入要作为输入文件的文件名:";
cin>>infile;
fin.open(infile);
fin.get(ch);
while(!fin.eof())
{
cout<<ch;
fin.get(ch);
}
fin.clear();
fin.close();
cout<<endl;
cout<<"是否需要再编辑文件?(y/n)";
cin>>a;
}while((a!='n')&&(a!='N'));
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询