0

我需要使用 execpl 在文件夹(称为备份)中复制文件(通过键盘输入文件名)

printf("File name to copy? ");
scanf(" %99[^\n]", str);

char *args[] = { "cp", str,"/backup" };

p = fork();  
// Fork validations + Dad wait for child

execlp(args[0],args[0], args[1], args[2], NULL);
exit(1);
4

1 回答 1

1

第一个参数execlp是要运行的命令,后面的参数是命令的命令行参数。这些参数中的第一个始终是正在运行的程序。

所以你需要复制数组中的第一个元素:

execlp(args[0], args[0], args[1], args[2], NULL);
于 2016-03-11T01:59:30.263 回答