Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 系统方法我可以停止状态代码吗?_C - Fatal编程技术网

C 系统方法我可以停止状态代码吗?

C 系统方法我可以停止状态代码吗?,c,C,所以我正在做一个处理$PATH的程序,它必须测试每个路径,看看这个命令是否位于那个路径中,我使用的是system()方法,但是我得到了没有这个命令的路径的所有状态代码。有没有办法停止状态代码? 例如,当我输入 echo hi 我得到: sh: /usr/lib64/qt-3.3/bin/echo: No such file or directory sh: /usr/NX/bin/echo: No such file or directory sh: /usr/local/bin/echo:

所以我正在做一个处理$PATH的程序,它必须测试每个路径,看看这个命令是否位于那个路径中,我使用的是system()方法,但是我得到了没有这个命令的路径的所有状态代码。有没有办法停止状态代码? 例如,当我输入

echo hi
我得到:

sh: /usr/lib64/qt-3.3/bin/echo: No such file or directory
sh: /usr/NX/bin/echo: No such file or directory
sh: /usr/local/bin/echo: No such file or directory
hi

您可以使用重定向

some_cmd  2>/dev/null

您可以使用重定向

some_cmd  2>/dev/null

人工进入。完全避免使用system()。如果要实现shell,则不应使用
system()
,因为该函数本身执行shell!人工进入。完全避免使用system()。如果要实现shell,则不应使用
system()
,因为该函数本身执行shell!您需要提供更多信息,例如,哪个
cmd
产生错误
sh:/usr/NX/bin/echo:没有这样的文件或目录
您需要提供更多信息,例如,哪个
cmd
产生错误
sh:/usr/NX/bin/echo:没有这样的文件或目录