【发布时间】:2016-03-16 14:55:51
【问题描述】:
我想使用以下命令查找路径名:
system("which");
然后我将输出用作execv() 函数的参数。我怎样才能做到这一点?有什么建议吗?
【问题讨论】:
-
不要使用
system,而是使用popen。 -
但我必须使用系统@Jean-BaptisteYunès
-
您无法轻易获得
system运行的命令在输出中产生的内容,它不是为此而设计的。为什么要以这种方式定位它?让execvp为您完成这项工作...... -
不用
which,你可以解析环境PATH。使用strtok(),获取每个路径并检查从PATH提取的每个路径中是否存在命令。或者使用execvpe()、execle()并传递环境,其中包括PATH。