gpt4 book ai didi

c - execl 不会执行

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:23 26 4
gpt4 key购买 nike

在一个项目上工作,当我调用 execl() 时它不工作。它在 fork 之后调用,应该重新执行当前文件。(参数在文件的前面声明):

argument = argv[0];
int err =execl(argument, argument, left, "1", NULL);
if (err == -1) printf("never execled");

我读过的所有内容都让我觉得这应该可行。第一个参数指定路径,第二个参数是要执行的文件,第三个是字符串,第四个是占位符,以便 arc == 3 当 execl 通过时,第四个是空终止符。

有人能帮忙吗?

最佳答案

argv[0] 仅包含文件名,但不包含 execl 所需的完整目录路径。

像这样尝试:

char *cwd;
cwd=malloc(255);
getcwd(cwd,255);
strcat(cwd,"/");
strcat(cwd,argv[0]);

并在execl中使用上面构造的cwd

关于c - execl 不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19387513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com