如何调用外部程序并从另一个程序获取其输出

Posted

技术标签:

【中文标题】如何调用外部程序并从另一个程序获取其输出【英文标题】:Howto call external program and get it's output from another program 【发布时间】:2011-01-25 11:56:05 【问题描述】:

如何在 C++ 中做到这一点:

假设程序A是一个命令行工具,有一些输入(例如文件路径和一个数字),根据它的输入,它可能会在运行时获取一些其他参数。 (if(condithin) cin<<something) 我想从另一个程序B 调用A,并希望在它运行期间查看A 的完整输出。必须输入A 的输入(如有必要)。 B 是用 Qt 编写的 gui 工具,A 必须显示在纯文本区域,并且它的输入必须显示在同一位置(如控制台客户端)。

我只是不知道从哪里开始。阅读有关 IPC 的内容并没有帮助。我知道这是可能的,因为我在 Eric IDE 中看到了 Dolphin 的控制台窗口和 python 解释器...

【问题讨论】:

【参考方案1】:

使用QProcess::execute方法开始运行A。可以从B形成参数列表传递给A。使用QProcess::readAllStandardOutput ()读取进程的输出并显示在B中。

【讨论】:

【参考方案2】:

由于您使用 Qt,使用 QProcess 可能是最好的方法。

【讨论】:

以上是关于如何调用外部程序并从另一个程序获取其输出的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个人写入控制台应用程序

如何连接到已注册的节点(Erlang)并从另一个 erlang 应用程序中使用它

运行并从后台进程获取输出

如何调用 shell 脚本并从另一个 shell 脚本传递参数

一文了解异步编程基础

如何在python脚本中获取exe的输出?