C++编写程序,实现把file1.txt的内容拷贝到文件file2.txt。

 我来答
行出竹下
2010-05-21
知道答主
回答量:9
采纳率:0%
帮助的人:6.9万
展开全部
#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的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
休语缪艳蕙
2019-07-19 · TA获得超过3841个赞
知道大有可为答主
回答量:3055
采纳率:30%
帮助的人:421万
展开全部
为什么要先关闭再打开file1?我删掉这两句后就不能拷贝file1到file2了。
答:谁说的file1要先关闭再打开呢?是这样的,主要是这个程序它首先是将file1的文件打印到屏幕上,然后再读一遍file1,这样fin的流已经跑到文件的结尾了,所以就必须重新打开一次fin流,让它重新从头开始读文件。
第15行为什么以输入流对象打开的file2。
答:为什么以输入流的方式打开file2,那是因为它是把file2的内容读取出来,打印到屏幕上,所以必须用输入流啊。
第19行却已输出流对象关闭?我改成fin.close()结果也一样。
答:其实正确的写法是就是这个fout.close(),因为你fin输入流已经关闭了啊。而为什么结果一样,那是因为它已经到了程序的结尾,在这个时候,c++默认的会自动关闭fout流,所以程序也不会报错啦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fox000002
2010-05-22 · TA获得超过3827个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1186万
展开全部
windows 平台的话,直接用 CopyFile 就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式