C ++系统回显返回值

时间:2014-12-21 13:46:45

标签: c++

有没有办法让system()命令返回值?

int abcd = system("echo %random%");
std::cout << abcd << std::endl;

怎么办,system()命令会返回一些值吗?

1 个答案:

答案 0 :(得分:1)

system()返回执行程序的退出代码(出错时为-1)。在UNIX上您可以:

... = WEXITSTATUS(system("exit 120"));

这应该返回120。完整的例子:

#include <iostream>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(){
   int x;
   x = system( "exit 120" );
   x = WEXITSTATUS(x);
   std::cout << x << std::endl;
   return 0;
}