当前位置: 首页 > news >正文

闵行网站推广网站开发外包项目网站

闵行网站推广,网站开发外包项目网站,北京网络教育,广州公司注册核名网址1 应用场景最近在实际程序开发中#xff0c;需要通过程序执行 shell 命令#xff0c;并获取命令输出内容。但是系统自带的 system 只能返回命令执行成功与否#xff0c;不能捕获命令输出。2 扩展性由于应用场景本就广泛#xff0c;因此扩展性较好。此函数可以执行任意命令需要通过程序执行 shell 命令并获取命令输出内容。但是系统自带的 system 只能返回命令执行成功与否不能捕获命令输出。2 扩展性由于应用场景本就广泛因此扩展性较好。此函数可以执行任意命令并捕获命令输出结果。实际使用过程中可以把此函数作为最底层接口然后层层封装实现自己想要的功能。3 测试环境3.1 Ubuntu找到此方法时我首先在 Ubuntu 中进行了测试环境如下系统版本Ubuntu 14.04.1 LTS系统版本详细信息如下1zhaocubuntu14:~$ lsb_release -a 2No LSB modules are available. 3Distributor ID:    Ubuntu 4Description:    Ubuntu 14.04.1 LTS 5Release:    14.04 6Codename:    trusty系统内核版本如下1zhaocubuntu14:~$ uname -a 2Linux ubuntu14 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linuxgcc 版本如下1gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 3.2 工程代码随后又放到工程代码中测试环境如下系统内核版本如下1[root]#uname -a 2Linux itl 4.4.207  #24 PREEMPT Fri Jan 29 18:09:37 CST 2021 armv5tejl GNU/Linuxgcc 版本如下1gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)使用 C 标准C 114 函数原型根据参考资料优化后的函数原型如下 1#include 2#include 34#define CMD_RESULT_BUF_SIZE 102456/*7 * cmd待执行命令8 * result命令输出结果9 * 函数返回0 成功-1 失败 10 */ 11int ExecuteCMD(const char *cmd, char *result) 12{ 13    int iRet  -1; 14    char buf_ps[CMD_RESULT_BUF_SIZE]; 15    char ps[CMD_RESULT_BUF_SIZE]  {0}; 16    FILE *ptr; 17 18    strcpy(ps, cmd); 19 20    if((ptr  popen(ps, r)) ! NULL) 21    { 22        while(fgets(buf_ps, sizeof(buf_ps), ptr) ! NULL) 23        { 24           strcat(result, buf_ps); 25           if(strlen(result)  CMD_RESULT_BUF_SIZE) 26           { 27               break; 28           } 29        } 30        pclose(ptr); 31        ptr  NULL; 32        iRet  0;  // 处理成功 33    } 34    else 35    { 36        printf(popen %s error\n, ps); 37        iRet  -1; // 处理失败 38    } 39 40    return iRet; 41}查看源码中的 popen() 、pclose() 函数原型定义如下 1#if (defined __USE_POSIX2 || defined __USE_SVID  || defined __USE_BSD || \2     defined __USE_MISC)3/* Create a new stream connected to a pipe running the given command.45   This function is a possible cancellation point and therefore not6   marked with __THROW.  */7extern FILE *popen (const char *__command, const char *__modes) __wur;89/* Close a stream opened by popen and return the status of its child. 10 11   This function is a possible cancellation point and therefore not 12   marked with __THROW.  */ 13extern int pclose (FILE *__stream); 14#endif查看源码中的 fgets() 函数原型如下1/* Get a newline-terminated string of finite length from STREAM. 2 3   This function is a possible cancellation point and therefore not 4   marked with __THROW.  */ 5extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 6     __wur;声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。
http://wiki.neutronadmin.com/news/53016/

相关文章:

  • 外贸仿牌网站建设免费建自己域名的网站吗
  • 徐州网站建设网络推广wordpress静态页没有标题
  • 手机网站优化需要注意什么企业vi案例
  • 生物科技公司网站模板东莞网站建设时间
  • cms影视建站系统免费windows云电脑
  • 网站搭建后提示建设中广州seo网站优化培训
  • 公司起名免费网性能优化工具
  • 阿里云搭建公司网站seo咨询邵阳
  • 华为云云速建站怎样福州商城网站
  • 汕头响应式网站wordpress站点地图优化
  • 吸引企业做网站深圳平价的专业建站公司
  • 做外贸网站怎么样推广方法策略
  • 图书馆建设网站注意点机关网站建设工作方案
  • 江门模板建站哪家好wordpress mysql 被删
  • 做棋牌网站建设哪家便宜展示图片的网站模板
  • 网站微信认证费用学院的网站建设的er图怎么画
  • 南通高端网站网站优化一般要怎么做
  • 做网站都要掌握什么软件免费网站建设下载
  • 建设网站长沙鞍山做网站企业
  • 国外网站入口终端安全管理系统
  • 做网站推广员工个人网页设计代码模板
  • c语言在线编程网站光辉网站建设公司
  • 东莞网站开发公司哪家好wordpress最好插件
  • 手机网站 切图网站开发工具设备要求
  • 凡客诚品官方网站查询哔哩哔哩网站
  • 四川煤矿基本建设工程公司网站网站底部加备案号
  • 网站策划与网上营销wordpress pitch
  • 网站 建设文档弥勒网站开发
  • 网站建设合同文百科wordpress 手机自适应
  • 湛江专业的建站托管天津大型网站设计公司