我正在尝试找到我当前的 PATH 以在我的 execv(( 命令中使用它,但我坚持弄清楚如何找到路径的任何提示?
要从环境中获取当前PATH
变量(参见 environ(7((,请使用 getenv(3(。
所以代码:
char*curpath = getenv("PATH");
if (!curpath) { fprintf(stderr, "no PATHn"); exit(EXIT_FAILURE); };
缺乏PATH
的可能性极小
然后使用 strchr(3( 迭代冒号curpath
当然,如果允许使用 execvp(3(,你应该更喜欢它。
要获取当前工作目录 (但这里不需要它( 使用 getcwd(3(。