0

我在同一个目录 main 和 example 中有两个程序,如果我执行./example file.txt它,它会使用该文件管理简单的任务。然后我的主要程序是

#include<stdio.h>
#include<stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
int main (int argc, char* argv[]){
   pid_t const pid1 = fork();
   if(pid1==0){
     execv();
   }
   else{
     wait(NULL);
   }
 }

所以我想执行./main file.txt并且子进程应该./example file.txt使用与 main 在 argv[1] 中收到的相同文件执行。我的问题是如何使用 execv 参数来完成这个。
对不起,如果我没有简单地解释自己。谢谢你

4

1 回答 1

2

最简单的方法是:

execl("./example", "example", argv[1], (char *)NULL);

或者,

char *args[] = {
    "example",
    argv[1],
    NULL
};
execv("./example", args);
于 2015-10-11T18:29:31.187 回答