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

待运行之后在贴显示结果

原文地址:https://www.cnblogs.com/yiyedada/p/5797067.html