我想将系统命令的输出保存在变量中,以将其用于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社区!
答案 0 :(得分:0)
您可以使用输出重定向。它在命令行中运行良好,并且在程序中也应该运行良好。
$ program > outputfile
这会将program
的输出记录到文件outputfile
。您可以稍后使用普通fopen
命令读取此信息。 (美元是linux的提示。)