码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中

时间:2014-10-29 23:39:34      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   os   ar   sp   文件   数据   

直接贴代码:

#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/Linux
merlin@tfAnalysis:~/t/popen$ 

 

还有另外的方法是将输出重定位到某个tmp文件中,然后再打开该文件获得数据。

Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中

标签:style   blog   io   color   os   ar   sp   文件   数据   

原文地址:http://www.cnblogs.com/tfanalysis/p/4060719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!