当前位置:网站首页 > 技术博客 > 正文

windows popen函数



在win或linux下编写程序,在程序代码中想要通过执行命令的方式,获取一些信息,可以使用popen函数来实现。

在win下该函数,定义如下:

 
  

功能: 创建管道并执行命令,管道的另一端与标准输入或标准输出相关联,并返回与管道相关联的流。

参数: command,需要执行的命令;mode,有如下4种选项:

  • “r”,可以对返回的流进行读取
  • “w”,可以对返回的流进行写入
  • “b”,以二进制模式打开
  • “t”,以文字模式开启

执行命令,并读取执行结果,示例代码:

 
  

执行结果:

在这里插入图片描述

在linux下该函数,定义如下:

 
  

功能: popen()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。popen()会建立管道连到子进程的标准输出设备或标准输入设备,然后返回一个文件指针。

参数: command,需要执行的命令;type,参数type可使用“r”代表读取,“w”代表写入。

执行命令,并读取执行结果,示例代码:

 
  

执行结果:

在这里插入图片描述

其实在win和linux下这2个函数,使用上没什么太大区别。

为了更好地跨平台,执行命令,我们可以把这个函数进行一些封装,代码如下。

CommandExecutor.h:

 
  

CommandExecutor.cpp:

 
  

然后在工程中,需要执行命令的话,直接调用CommandExecutor类就可以了。


若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

在这里插入图片描述

  • 上一篇: qt opengl obj
  • 下一篇: c结构体初始化函数
  • 版权声明


    相关文章:

  • qt opengl obj2025-07-05 19:01:06
  • 双向链表c语言2025-07-05 19:01:06
  • 在线客服功能介绍2025-07-05 19:01:06
  • oracle中创建视图并查询视图2025-07-05 19:01:06
  • mysql的分区表2025-07-05 19:01:06
  • c结构体初始化函数2025-07-05 19:01:06
  • <img>标签表示的是什么?2025-07-05 19:01:06
  • xcp协议和uds协议区别2025-07-05 19:01:06
  • 分布式缓存解决方案2025-07-05 19:01:06
  • 性能测试分享2025-07-05 19:01:06