我在相同的主目录和示例目录中有两个程序,如果执行./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
使用argv [1]中main收到的同一文件来执行该子进程。我的问题是如何使用execv参数来完成此任务。
对不起,如果我没有简单地解释自己。谢谢你
最简单的方法是:
execl("./example", "example", argv[1], (char *)NULL);
或者,
char *args[] = {
"example",
argv[1],
NULL
};
execv("./example", args);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句