C / C ++将控制台输出保存在变量中

时间:2014-05-01 17:01:19

标签: c variables console output popen

我想将系统命令的输出保存在变量中,以将其用于GTKLabel。

我知道我可以使用popen来记录输出:

FILE *in;
extern FILE *popen();
char buff[512];
char test[512];

if(!(in = popen("adb devices", "r"))){
   exit(1);
}

while(fgets(buff, sizeof(buff), in)!=NULL){
    printf("%s", buff);
}

pclose(in);

现在,它只打印输出,但我想将其保存为变量。我怎么做?感谢Advance社区!

1 个答案:

答案 0 :(得分:0)

您可以使用输出重定向。它在命令行中运行良好,并且在程序中也应该运行良好。

$ program > outputfile

这会将program的输出记录到文件outputfile。您可以稍后使用普通fopen命令读取此信息。 (美元是linux的提示。)