linux c++ 调用system 如何获取返回值
时间: 2023-07-29 09:09:30 浏览: 432
system函数-Unix/Linux C/C++编程学习
在Linux下,调用system函数可以执行一个外部命令,并获取该命令的返回值。system函数的返回值是被调用程序的返回值,如果该程序执行成功,返回值为0,否则为非0。可以使用以下方法获取system函数的返回值:
```c++
#include <cstdlib>
int main()
{
int ret = system("ls -l");
if (WIFEXITED(ret)) { // 如果子进程正常结束
int status = WEXITSTATUS(ret); // 获取子进程的返回值
// 处理子进程的返回值
}
return 0;
}
```
在这个例子中,我们调用了system函数来执行"ls -l"命令,并将其返回值存储在ret变量中。我们可以使用WIFEXITED宏来判断子进程是否正常结束,如果正常结束,则使用WEXITSTATUS宏获取子进程的返回值。
阅读全文