请帮忙用C语言编写一个函数~~~功能是“文件复制”~~~谢谢~~

请帮忙用C语言编写一个函数~~~功能是“文件复制”~~~谢谢~~... 请帮忙用C语言编写一个函数~~~功能是“文件复制”~~~谢谢~~ 展开
 我来答
百度网友3ef3ea8ef
2007-08-20 · TA获得超过330个赞
知道答主
回答量:64
采纳率:0%
帮助的人:58.9万
展开全部
以二进制打开源文件进行读取(二进制可以拷贝任何文件),以二进制打开目标文件进行写入,读取源文件的一个字符,如果feof()表明已经到达文件末尾,如果没有到达源文件末尾,则将该字符写入目标文件。loop...
int file_copy(char *oldname, char *newname)
//接收文件名为输入,把oldname文件拷贝到newname
{ FILE *fold, *fnew;
int c;
//打开源文件
if ((fold = fopen(oldname, "rb")) == NULL)
return -1;
//打开目标文件
if ((fnew = fopen(newname, "wb")) == NULL)
{ fclose(fold); //如果目标文件空,关闭并返回
return -1;}

while (1)
{ c= fgetc(fold);
if (!feof(fold))
fputc(c, fnew);
else
break;
}

fclose(fold);
fclose(fnew);
}
百度网友a9c72a279
2007-08-25 · 超过10用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:30.9万
展开全部
兄弟,我的回答在这里。
#include<stdio.h>

main(int count,char *string[])
{ FILE *openfile,*destination;

strcat(string[2],string[1]);

if(count!=3)
{ printf("对不起,您的参数错误!\n");
getch();
exit(0);
}
if((openfile=fopen(string[1],"rb"))==NULL)
{ printf("对不起,您的源文件无法打开,或者不存在!\n");
getch();
exit(0);
}

if((destination=fopen(string[2],"wb"))==NULL)
{ printf("对不起,您的磁盘是否已经满了,或者不可以写入!\n");
getch();
exit(0);
}

printf("正在复制中......\n");
while(!feof(openfile))
fputc(fgetc(openfile),destination);
fclose(openfile);
fclose(destination);
system("cls");

printf("您的文件已经复制完成了!\n");
getch();

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qpmzatao
2007-08-20 · TA获得超过533个赞
知道小有建树答主
回答量:361
采纳率:66%
帮助的人:230万
展开全部
C也可以用API,
如果,想自己实现的话,那就
定义一个文件流,用二禁止方式打开,在写入其他盘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式