popen函数

FILE *popen(const char *command, const char *type);

比system在应用中的好处:可以获取运行的输出结果

system函数运行后的结果会流失到终端,popen则可以把运行后的返回值可以用fread读取到缓冲区里去

返回值:一个FILE文件流

#include

//FILE *popen(const char *command, const char *type);
int main()
{
        char ret[1024] = {0};
        FILE *fp;


        fp = popen("ps","r");        //调用popen执行ps指令,执行以后的结果会流到开辟的r管道中,fp获取管道中的内容
        int nread = fread(ret,1,1024,fp);        //调用fread从fp里读,每次读1个字节,读1024次,把所读到的内容存放到缓冲区ret中
        printf("read ret %d byte,ret = %s\n",nread,ret);


        return 0;


}
 

你可能感兴趣的:(linux)