popen:让进程看似文件

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;           
}

待运行之后在贴显示结果

posted on 2016-08-22 21:27  yiyedada  阅读(377)  评论(0编辑  收藏  举报

导航