C++编写程序,实现把file1.txt的内容拷贝到文件file2.txt。
展开全部
#include"stdio.h"
void main()
{
FILE *fp_in,*fp_out;
charinfile[20],outfile[20];
printf("Entertheinfilename:\n");
scanf("%s",infile);
printf("Entertheoutfilename:\n");
scanf("%s",outfile);
if((fp_in=fopen(infile,"r"))==NULL)
{
printf("Can't openfile%s\n",infile);
getchar();
exit(0);
}
if((fp_out=fopen(outfile,"w"))==NULL)
{
p rintf("can't openfile%s\n",outfile);
getchar();
exit(0);
}
while(!feof(fp_in))
fputc(fgetc(fp_in),fp_out);
fclose(fp_in);
fclose(fp_out);
}
PS:这个是在网上找到的,你看看能不能用吧, C++是兼容C的
void main()
{
FILE *fp_in,*fp_out;
charinfile[20],outfile[20];
printf("Entertheinfilename:\n");
scanf("%s",infile);
printf("Entertheoutfilename:\n");
scanf("%s",outfile);
if((fp_in=fopen(infile,"r"))==NULL)
{
printf("Can't openfile%s\n",infile);
getchar();
exit(0);
}
if((fp_out=fopen(outfile,"w"))==NULL)
{
p rintf("can't openfile%s\n",outfile);
getchar();
exit(0);
}
while(!feof(fp_in))
fputc(fgetc(fp_in),fp_out);
fclose(fp_in);
fclose(fp_out);
}
PS:这个是在网上找到的,你看看能不能用吧, C++是兼容C的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么要先关闭再打开file1?我删掉这两句后就不能拷贝file1到file2了。
答:谁说的file1要先关闭再打开呢?是这样的,主要是这个程序它首先是将file1的文件打印到屏幕上,然后再读一遍file1,这样fin的流已经跑到文件的结尾了,所以就必须重新打开一次fin流,让它重新从头开始读文件。
第15行为什么以输入流对象打开的file2。
答:为什么以输入流的方式打开file2,那是因为它是把file2的内容读取出来,打印到屏幕上,所以必须用输入流啊。
第19行却已输出流对象关闭?我改成fin.close()结果也一样。
答:其实正确的写法是就是这个fout.close(),因为你fin输入流已经关闭了啊。而为什么结果一样,那是因为它已经到了程序的结尾,在这个时候,c++默认的会自动关闭fout流,所以程序也不会报错啦。
答:谁说的file1要先关闭再打开呢?是这样的,主要是这个程序它首先是将file1的文件打印到屏幕上,然后再读一遍file1,这样fin的流已经跑到文件的结尾了,所以就必须重新打开一次fin流,让它重新从头开始读文件。
第15行为什么以输入流对象打开的file2。
答:为什么以输入流的方式打开file2,那是因为它是把file2的内容读取出来,打印到屏幕上,所以必须用输入流啊。
第19行却已输出流对象关闭?我改成fin.close()结果也一样。
答:其实正确的写法是就是这个fout.close(),因为你fin输入流已经关闭了啊。而为什么结果一样,那是因为它已经到了程序的结尾,在这个时候,c++默认的会自动关闭fout流,所以程序也不会报错啦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
windows 平台的话,直接用 CopyFile 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询