1
billlee 2016-12-09 21:59:37 +08:00
C 语言不能做这个事情, 系统调用才行
POSIX API: https://linux.die.net/man/2/rename Windows API: https://msdn.microsoft.com/en-us/library/aa365239(v=vs.85).aspx |
2
wevsty 2016-12-09 22:23:12 +08:00
rename 或者 MoveFile 都是移动文件,并不是复制。
如果需要跨平台进行文件复制的话,可以自己用 fopen,fread,fwrite 这些函数自己封装一个复制文件的函数。 如果是 Windows 下面可以使用 CopyFile,CopyFileEx,CopyFile2 等 api 来完成,可以参考 MSDN https://msdn.microsoft.com/en-us/library/aa363851(v=vs.85).aspx |
4
wevsty 2016-12-09 22:42:53 +08:00
@Alain1995
自己用 fopen,fread,fwrite 这些函数自己封装一下就好,都是 C 的标准库, Linux 或者 Windows 都是通用的。 或者更简单的 system 调 cp 也可以 |
5
stamaimer 2016-12-09 23:52:52 +08:00 via iPhone
Qt
|
6
Arnie97 2016-12-10 01:30:42 +08:00 via Android
POSIX 没有专门的复制函数,如楼上所说一边 fread 一边 fwrite 即可。
http://stackoverflow.com/questions/17666316/is-there-a-posix-function-to-copy-a-file |
7
meta 2016-12-10 01:47:27 +08:00 via iPhone
难道这不就是个 read&write 的事,设置个块大小不就完了。
|
8
waruqi 2016-12-10 08:48:50 +08:00 via iPhone
sendfile
|