首页 > 代码库 > Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
直接贴代码:
#include <stdio.h> #include <string.h>#include <errno.h>int main(int argc,char*argv[]){ FILE *fstream=NULL; char buff[1024]; memset(buff,0,sizeof(buff)); if(NULL==(fstream=popen("uname -a","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;}
结果输出是这样子的:
merlin@tfAnalysis:~/t/popen$ ./a.out =>Linux tfAnalysis 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:01 UTC 2014 i686 i686 i686 GNU/Linuxmerlin@tfAnalysis:~/t/popen$
还有另外的方法是将输出重定位到某个tmp文件中,然后再打开该文件获得数据。
Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。