system()函数只能运行命令,不能获取输出
#include <stdio.h>
#include <string.h>
#include <iostream>
int main(){
char outBuffer[1024]; // 保存运行后输出的结果
char *cmdStr = "ls ."; // 准备运行的命令
FILE * pipeLine = popen(cmdStr,"r"); // 建立流管道
if(!pipeLine){ // 检测流管道
perror("Fail to popen\n");
return 1;
}
while(fgets(outBuffer, 1024, pipeLine) != NULL){ // 获取输出
printf("输出: %s",outBuffer); // 打印输出
}
pclose(pipeLine);
return 0;
}