如何使用C ++高效地在linux中复制文件? 是否有任何系统调用/标准库允许文件复制而不进行循环?
答案 0 :(得分:-1)
假设argv [1]是文件名源,而argv [2]是文件名dest:
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <unistd.h>
int wid;
if(fork() == 0) {
execve("/bin/cp", &argv[1], NULL);
exit(-1);
}
wait(&wid);
这样做是分叉程序并在子程序中执行cp二进制文件 有关所用功能的更多信息:
man 2 fork
man 2 execve
man 2 wait