【问题标题】:How to copy files to folder with execlp?如何使用 execlp 将文件复制到文件夹?
【发布时间】:2016-03-11 01:15:10
【问题描述】:

我需要使用 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);

【问题讨论】:

  • 你知道 C 中的数组索引是从零开始的吗?
  • true true ...我没注意到!
  • @Mark 请不要在您的标题中添加 [已解决]。你表明你的问题是通过接受一个答案来解决的(你做了)。
  • @George Stocker 好的,谢谢你的信息!

标签: c execl


【解决方案1】:

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

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

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

【讨论】:

  • 100% 实用!非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多