C++文件拷贝出现的问题
//--------拷贝文件
in.open(Infile,ios_base::in);
if (in.is_open())
{
out.open(Outfile,ios_base::out | ios_base::trunc); //清空文件
out.close();
out.open(Outfile,ios_base::out | ios_base::app);
//拷贝
char *Tmpbuf = new char[2048];
while(!in.eof()) //第一次是为假,进入循环
{
in.read(Tmpbuf,2048);
Tmplen = in.gcount();
out.write(Tmpbuf,Tmplen); //写入文件
}
in.close();
out.close();
delete[] Tmpbuf;
}
in.open(Outfile,ios_base::in); //互换文件名
if (in.is_open())
{
out.open(Infile,ios_base::out | ios_base::trunc); //清空文件
out.close();
out.open(Infile,ios_base::out | ios_base::app);
//拷贝
char *Tmpbuf = new char[2048];
while(!in.eof()) //这次为真,不进入循环,为什么?
{
in.read(Tmpbuf,2048);
Tmplen = in.gcount();
out.write(Tmpbuf,Tmplen); //写入文件
}
in.close();
out.close();
delete[] Tmpbuf;
}
问题就是上面红色显示的