使用 c++ 中的 boost 进程库输出

2024-01-10

我使用升压过程并使用默认代码主要教程页面 http://www.highscore.de/boost/process/process/tutorials.html.

我已经运行了这段代码,但它没有打印任何输出!

#include <boost/process.hpp> 
#include <string> 
#include <vector> 
#include <iostream> 

namespace bp = ::boost::process; 

int main() 
{ 
    std::string exec = "bjam"; 

    std::vector<std::string> args; 
    args.push_back("--version"); 

    bp::context ctx; 
    ctx.stdout_behavior = bp::capture_stream(); 

    bp::child c = launch(exec, args, ctx);

    bp::pistream &is = c.get_stdout(); 
    std::string line; 
    while (std::getline(is, line)) 
    std::cout << line << std::endl; 
} 

任何人都可以帮我解决这个问题吗?

这段代码退出here http://www.highscore.de/boost/process/process/tutorials.html#process.tutorials.read_from_child.

Thanks!


您可能没有检查进程是否成功启动。我可以简单地使用/bin/ls相反,取得了良好的成功:

// 
// Boost.Process 
// ~~~~~~~~~~~~~ 
// 
// Copyright (c) 2006, 2007 Julio M. Merino Vidal 
// Copyright (c) 2008 Boris Schaeling 
// 
// Distributed under the Boost Software License, Version 1.0. (See accompanying 
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 
// 

#include <boost/process.hpp> 
#include <string> 
#include <vector> 
#include <iostream> 

namespace bp = ::boost::process; 

bp::child start_child() 
{ 
    std::string exec = "/bin/ls"; 

    std::vector<std::string> args; 
    args.push_back("-ltrah"); 

    bp::context ctx; 
    ctx.stdout_behavior = bp::capture_stream(); 

    return bp::launch(exec, args, ctx); 
} 

int main() 
{ 
    bp::child c = start_child(); 

    bp::pistream &is = c.get_stdout(); 
    std::string line; 
    while (std::getline(is, line)) 
        std::cout << line << std::endl; 
} 

请注意,使用"ls"失败 - 没有错误消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 c++ 中的 boost 进程库输出 的相关文章

  • 更快的算法来计算有多少数字可以被范围内的特定整数整除

    int a b c d 0 cin gt gt a gt gt b gt gt c for int i a i lt b i if i c 0 d cout lt
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 没有 Unicode 字节顺序标记。无法切换到 Unicode

    我正在使用 XSD 编写 XML 验证器 下面是我所做的 但是当验证器到达该线时while list Read 它给了我错误 没有 Unicode 字节顺序标记 无法切换到 Unicode 有人可以帮我解决吗 public class Va
  • 切换图片框可见性 C#

    为什么图片框控件的可见性属性在这里不起作用 我最初将它们设置为 false 以便在屏幕加载时它们不可见 但后来我想切换这个 我已完成以下操作 但似乎不起作用 这是一个 Windows 窗体应用程序 private void Action w
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 在运行时设置 DataGridView 上的 DataFormatString?

    是否可以在运行时设置 ASP NET DataGridView 中的列或单元格的 DataFormatString 属性 这应该有效 BoundField priceField grid Columns 0 as BoundField pr
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • C 中的模仿函数重写

    具体来说 函数重写能够调用基本重写方法 这有两部分 一个是预编译的库代码 1 另一个是库的用户代码 2 我在这里实现了一个尽可能最小的经典 Person 和 Employee 示例 非常感谢了解 OOP 概念的铁杆 C 开发人员的回应 我正
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 指示泛型返回动态类型的对象

    这个问题是我原来问题的后续问题here https stackoverflow com questions 2541184 using a type object to create a generic 假设我有以下泛型类 简化 class
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 如何在 VS Code 中为 CMake 项目设置 C/C++ IntelliSense?

    我正在尝试使用 libTooling 编写一个工具 我对其进行了设置 以便它可以使用 LLVM 文档中的示例进行编译 然而 C C IntelliSense 似乎不适用于 CMake 项目 我的工具位于
  • Scrum:太多还是不够? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的公司最近开始使用Scrum 我们已经完成了 2 次冲刺 我们仍在学习 但我们确实已经暴露并修复了开发过程中的一些问题 所以总的来说 我
  • 将 bignum 类型结构转换为人类可读字符串的有效方法是什么?

    我有一点问题 为了增长我的 C 知识 我决定尝试实现一个基本的 bigint 库 bigint 结构的核心将是一个 32 位整数数组 选择它们是因为它们适合寄存器 这将允许我在数字之间进行操作 这些操作将在 64 位整数中溢出 这也将适合寄
  • 为什么C语言中可以使用多个分号?

    在 C 中我可以执行以下操作 int main printf HELLO WORLD 它有效 这是为什么 我个人的想法 分号是一个 NO OPERATION 来自维基百科 指示符 拥有一大串分号与拥有一个分号并告诉 C 语句已结束具有相同的
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 为什么 C# 接口名称前面加上“I”

    这种命名约定背后的基本原理是什么 我没有看到任何好处 额外的前缀只会污染 API 我的想法与康拉德一致response https stackoverflow com a 222502 9898与此相关的question https sta
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E

随机推荐

  • 如何在 postgresql 中将 DELETE 的返回插入到 INSERT 中?

    我正在尝试从一个表中删除一行并将其与一些附加数据插入到另一个表中 我知道这可以通过两个单独的命令来完成 一个用于删除 另一个用于插入新表 然而我试图将它们结合起来但它不起作用 这是我到目前为止的查询 insert into b one tw
  • Django - 基于函数的视图 (FBV) 不允许使用方法

    我得到了405 METHOD NOT ALLOWED当我尝试通过 AJAX 调用提交 POST 请求时的响应 POST events profile update HTTP 1 1 405 0 我试图用最基本的视图来设置它 def prof
  • 重写抽象类以返回硬编码方法值

    我想从这里覆盖 CoreUtils 抽象类https docs spring io spring framework docs current javadoc api org springframework web cors reactiv
  • Laravel 路由重定向而不关闭路由缓存

    我的电脑上有这个代码routes php执行重定向的文件 虽然问题是每当我跑步时php artisan route cache命令 它给了我一个错误Unable to prepare route article params for ser
  • 用于网络请求的 AsyncTask 与 ThreadPoolExecutor

    我正在开发一个项目 我需要点击 Web 服务下载 JSON 数据并将其表示在列表中 所有列表项都有缩略图 URL 可以下载并显示在列表项中 我已经使用 ThreadPoolExecutor 和 AsyncTask 完成了整个调用部分 但从设
  • 在 Spring Batch 中访问步骤范围之外的 Bean

    是否可以访问步骤范围之外定义的 bean 例如 如果我定义策略 strategyA 并将其传递到作业参数中 我希望 Value 解析为strategyA bean 这可能吗 我目前正在通过从 applicationContext 手动获取
  • NPM Start 未启动本地服务器

    我正在尝试使用 webpack 制作一个 React 应用程序 当我尝试运行 npm start 时 它应该加载http localhost 3333但它说无法访问网站 这是我的 webpack 配置 module exports entr
  • 滑动视图控制器,但不使用 UISwipeGestureRecognizer

    这是我的问题 我有 5 个视图控制器 我可以使用 UISwipeGestureRecognizer 类和 xcode 的故事板通过滑动在它们之间切换 所以这可行 但是 我不喜欢幻灯片效果 我喜欢以某种方式进行制作 这样您就可以通过拖动将视图
  • Windows IoT 和 DS3231 RTC 时钟

    对于我的项目 我需要当前时间和日期 不幸的是 当 RP2 关闭时 它就会失去一切 接下来的事情是 我将没有互联网连接来使用 NTP 为此 我需要实现 DS3231 RTC 模块 所有设备的通信都通过 I2C 运行 Raspberry Ard
  • Google Admob Android:仅在一台设备上运行

    我在我的 Android 应用程序中设置了一个 admob adview 清单
  • 修改成员时不调用 C# 对象 Setter

    我有以下包装类 public class Wrapper public int Member 在一个单独的班级中 我有以下内容 public class ContainerClass private Wrapper data public
  • 我的谷歌地图被切断了,我想知道为什么? JavaScript,V

    It s kinda hard to explain so I uploaded a screen shot of the issue 正如您所看到的 尽管地图上有 div 不动产 这是实际大小 但它只显示了地图的 1 6 这个小部件可以调
  • 如何在 Java 中设置标签的颜色(彩色文本)?

    如何设置标签文本的颜色 myLabel setText Text Color Red myLabel 我可以在一个标签上使用两种不同的颜色吗 例如这里 The Text Color 变黑并且 Red 变红 对于单色前景色 label set
  • 为什么 (1 == 2 != 3) 在 Python 中计算结果为 False?

    为什么 1 2 3 评估为False在Python中 同时两者 1 2 3 and 1 2 3 评估为True 这里使用什么运算符优先级 这是由于运营商的连锁现象 https docs python org 3 reference expr
  • 为什么我可以使用类型别名声明 const 引用?

    我有一个简单的问题 据我所知 我可以声明const指向某种数据类型的指针或指向常量数据类型的指针 但我只能声明对常量数据类型的引用 而不能声明对数据类型的常量引用 事实上 引用已经是常量 因为它不能反弹到另一个对象 所以当我尝试创建一个co
  • 当多个文件作为参数传递给 perl cli 时,Perl 中文件的行号

    In awk如果我给出多个文件作为参数awk 有两个特殊变量 NR 对应于所有文件中所有行的行号 FNR 当前文件的行号 我知道在 Perl 中 对应于NR 所有文件中的行中的当前行 有什么可以媲美的FNRPerl 中的 AWK 也有吗 假
  • PBSPro qsub 输出错误文件定向到名称中包含 jobid 的路径

    我正在使用 PBSPro 并尝试使用 qsub 命令行提交作业 但似乎无法按照我想要的方式命名输出和错误文件 目前使用 qsub N subjobname short o path o PBS JOBID e path e PBS JOBI
  • VSTS 持续集成触发器不起作用

    我很确定这个设置在某一时刻对我们来说是有效的 我对我们的构建进行了一些更改以反映一些操作更改 但现在 CI git 分支触发器不起作用 我正在尝试获取它 以便当 PR 合并到 master 时它会触发发布构建 我可以手动触发此构建 但在从
  • 从 csproj 引用 ASP.NET xproj

    我正在使用 Visual Studio 中的新 类库 NuGet 包 模板之一 并且我想为其创建一个 xUnit 测试库 问题是 当我创建新的 csproj 库并尝试引用 xproj 包时 Visual Studio 说 The refer
  • 使用 c++ 中的 boost 进程库输出

    我使用升压过程并使用默认代码主要教程页面 http www highscore de boost process process tutorials html 我已经运行了这段代码 但它没有打印任何输出 include