机器人车技术开发分享网
Linux使用system()获取执行结果
  • 首页 > Linux
  • 作者:小v
  • 2017年9月30日 14:59 星期六
  • 浏览:2435
  • 字号:
  • 评论:0
  • #include<stdlib.h>
    #include<stdio.h>
    #include<string.h>
    #include<unistd.h>
    static int getResultFromSystemCall(const char *pCmd,char *pResult,int size)
    {
     int fd[2];
     if(pipe(fd)){
       printf("pipe error ! \n");
       return -1; 
     }
     int bak_fd = dup(STDOUT_FILENO);
     int new_fd = dup2(fd[1],STDOUT_FILENO);

      system(pCmd);
      read(fd[0],pResult,size-1);
      pResult[strlen(pResult)-1] = 0;

     dup2(bak_fd,new_fd);
     return 0;
    }
    int main()
    {
      char res[100]={0};
      getResultFromSystemCall("date",res,sizeof(res)/sizeof(res[0]));
    printf("result is :[%s] \n",res);

    }

      您阅读这篇文章共花了:  
     本文无需标签!
    二维码加载中...
    本文作者:小v      文章标题: Linux使用system()获取执行结果
    本文地址:http://blog.cvosrobot.com/?post=360
    版权声明:若无注明,本文皆为“机器人车技术开发分享网”原创,转载请保留文章出处。

    返回顶部| 首页| 手气不错| 捐赠支持| 自定义链接| 自定义链接| 自定义链接| 手机版本|后花园

    Copyright © 2014-2017 机器人车技术开发分享网   京ICP备14059411 Copyright 2014-2019 小v工作室 版权所有 All Rights Reserved

    sitemap