【发布时间】:2013-02-19 08:20:20
【问题描述】:
您好,我正在尝试将execvp() 与**environ 变量结合使用来为用户输入的命令找到正确的路径。
问题是我真的不明白如何做到这一点。我知道我可以尝试打开命令文件以检查它们是否存在,但我不明白如何从 **environ 获取我需要搜索的路径。
【问题讨论】:
-
**environ来自哪里?我知道如何做到这一点的唯一方法是使用getenv("PATH"),它只返回一个字符串,这是一个通常以冒号分隔的路径变量列表。你可以使用strtok来解析这个。 -
查看此答案:stackoverflow.com/questions/3127614/global-variable-for-getenv 您需要翻阅字符串数组并搜索 PATH 变量。找到 PATH 字符串后,您可以解析字符串中包含的路径。