C语言---如何复制任意文件?

①请问用C语言如何复制任意文件(如:rmvb,avi,ppt,word,*.exe等等,就像使用ctrl+c一样什么都能复制,我看书上只写可以复制txt与b文件啊)?②是... ①请问用C语言如何复制任意文件(如:rmvb,avi,ppt,word,*.exe等等,就像使用ctrl+c一样什么都能复制,我看书上只写可以复制txt与b文件啊)?
②是否有相应的函数?
展开
 我来答
mafangsan
推荐于2017-09-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2594万
展开全部
C语言复制文件主要由三种办法,你可以根据自己的知识选用一个

方法1)利用C语言的二进制读写函数
自己用fopen打开源文件和目标文件,然后用循环读写实现复制

方法2)利用操作系统的文件复制函数
例如Windows就有如下API函数可以复制文件
BOOL CopyFile(
LPCTSTR lpExistingFileName, // name of an existing file
LPCTSTR lpNewFileName, // name of new file
BOOL bFailIfExists // operation if file exists
);
第一个参数是用来存放当前要处理文件的路径。
第二个参数是用来存放用户指定的新路径。
第三个参数它是用来判断用户指定的新路径是否已经存在要存放的路径,如果为TRUE,则新路径中已经存在该文件了,该函数调用失败,否则就调用成功。

方法3:C语言调用操作系统的copy命令
首先#include<stdlib.h>

然后 程序中 调用 system(“这里写 copy的完整命令”);
阳光上的桥
推荐于2017-10-01 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
书上的txt就是记事本文件,b就是其他一切文件,函数就是那些,fopen,fread、fwrite,或者使用open、read、write。

另外,文件复制可以使用system函数,例如:
system("copy c:\\abc.rmvb d:\\movies\\");
更多追问追答
追问
这个需要什么头文件么?
追答
其实几乎所有的头文件都不是必须的,你不用include语句往往一般的程序都可以工作,试试看吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ggyik01726
2013-03-07 · TA获得超过4537个赞
知道小有建树答主
回答量:2236
采纳率:66%
帮助的人:858万
展开全部
b文件 就是以二进制形式复制文件,这样可以操作所有文件
原则上,所有的文件都应该以b形式来操作。之所以把TXT文件单列出来,是因为TXT本身就是以ASCII码形式存储的,你不管怎么操作都不会损坏。
更多追问追答
追问
谢谢,我试了,用b读,写exe,出现乱码......而且复制的新文件不可用。
追答
exe文件,只能复制.读出来是乱码,更不能写。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackwind1987
2013-03-07 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:491万
展开全部
因为书上的例子简单,所以用txt文件做讲解
用fopen的时候用"b"的话,所有文件都能复制的
相应的函数就是 fopen, fread, fwrite
追问
谢谢,我试了,用b读,写exe,出现乱码......而且复制的新文件不可用。
追答
不但要用b读,还要用b写……
如果你也用b写了,那就是你代码的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式