C语言执行Linux的shell命令并获得返回值

popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果

popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果。

type的参数只能是“r”或"w"



[plain] view plain copy print?
#include<stdio.h>    
#include<string.h>    
int main(int argc,char*argv[]){    
    FILE *fstream=NULL;      
    char buff[1024];    
    memset(buff,0,sizeof(buff));    
    if(NULL==(fstream=popen("ls -l","r")))      
    {     
        fprintf(stderr,"execute command failed: %s",strerror(errno));      
        return -1;      
    }     
    if(NULL!=fgets(buff, sizeof(buff), fstream))     
    {     
        printf("%s",buff);    
    }     
    else    
    {    
        pclose(fstream);    
        return -1;    
    }    
    pclose(fstream);    
    return 0;     
}    

popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果。



type的参数只能是“r”或"w"

扫描二维码关注公众号,回复: 940141 查看本文章


例如  

猜你喜欢

转载自blog.csdn.net/rebirthme/article/details/76727463