popen打开一个指向进程的带缓冲的连接:
FILE *fp; fp = popen("ls", "r"); fgets(buf, len, fp); pclose(fp);
popen的第一个参数是要打开的命令的名称;它可以是任意的shell命令。
第二个参数可以是"r"或"w"。
例如:
#include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char buf[100]; int i = 0; fp = popen("who|sort", "r"); while(fgets(buf, 100, fp) != NULL) printf("%3d %s", i++, buf); pclose(fp); return 0; }
待运行之后在贴显示结果