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

C++(boost):通过boost::process::child同步调用其他程序

boost提供了boost::process::child,可以通过其调用其他程序,并获得输出:

#include <boost/process/child.hpp>
#include <boost/process/io.hpp>
#include <vector>
#include <iostream>
#include <string>
#include <tuple>using namespace std;template <typename... ArgTypes>
tuple<int, vector<string> > execCmd(const char* path, ArgTypes&&... tArgs)
{vector<string> stdOutput;boost::process::ipstream stdOutStream;boost::process::child execProg(path, const_cast<char*>(tArgs)...,boost::process::std_out > stdOutStream);string stdOutLine;while (stdOutStream && getline(stdOutStream, stdOutLine) && !stdOutLine.empty()){stdOutput.emplace_back(stdOutLine);}execProg.wait();int retCode = execProg.exit_code();return make_tuple(retCode, stdOutput);
}int main()
{int cmdRetC
http://www.lryc.cn/news/197245.html

相关文章:

  • 【经验分享】解决vscode编码问题
  • 核酸管外观缺陷检测(一)
  • NodeJS @kubernetes/client-node连接到kubernetes集群的方法
  • 【基于Kmeans、Kmeans++和二分K均值算法的图像分割】数据挖掘实验三
  • 深入理解Java CompletableFuture并发编程模型
  • TensorFlow手动加载数据集(以mnist为例)
  • C++项目实战——基于多设计模式下的同步异步日志系统(总集篇)
  • 杨辉三角按列求和
  • C复习-语句
  • [Python进阶] 操纵键盘:PyAutoGUI
  • jdbc快速开始
  • C语言中static关键字用法
  • STM32-LCD液晶显示
  • GraphQL 查询:一个全面指南
  • 快速自动化处理JavaScript渲染页面的方法
  • [计算机提升] 系统及用户操作
  • Linux篇 四、Linux修改用户名
  • 【Element-plus】如何让滚动条永远在最底部(支持在线演示)
  • 解决方案-LBS用户位置Redis-GEO附近人/店铺
  • springboot+html实现简单注册登录
  • ESP32网络开发实例-Web控制8路继电器
  • Flutter ☞ 变量
  • 冲刺十五届蓝桥杯P0006平面切分
  • mac电脑文献管理 EndNote 21最新 for Mac
  • vue使用pdf-dist实现pdf预览以及水印
  • [Python进阶] 操纵键盘:Pynput
  • 购药不烦恼:线上购药小程序的快捷方式
  • 10.17课上(七段显示器,递归异或与电路)
  • maven-plugin-shade 详解
  • cocosCreator 之 3.x使用NodePool对象池和封装