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

时间:2011-01-25 11:56:06

标签: c++ qt ipc

如何在c ++中执行此操作:

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

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

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:5)

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