execv()的路径查找

时间:2018-03-10 17:37:17

标签: c linux path

我试图找到我当前的PATH在我的execv()命令中使用它,但是我一直在想弄清楚如何找到路径的任何提示?

1 个答案:

答案 0 :(得分:1)

要从您的环境中获取当前PATH variable(请参阅environ(7)),请使用getenv(3)

所以代码:

char*curpath = getenv("PATH");
if (!curpath) { fprintf(stderr, "no PATH\n"); exit(EXIT_FAILURE); };

缺乏PATH极不可能

然后使用strchr(3)来迭代curpath

中的冒号

当然,如果允许使用它,你应该更喜欢execvp(3)

要获取当前working directory(但您不需要此处),请使用getcwd(3)