在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类就可以了。
若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!
同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/15779.html