【发布时间】:2016-09-24 23:22:50
【问题描述】:
我有一个控制台应用程序“app.exe”,我想从 C++ 程序中调用它,然后像命令行一样与它通信。本质上,我想为另一个控制台应用程序创建一个 C++ 包装器,以便我可以随意将输入传递给它并接收输出。
在伪代码中类似于:
std:string input("...some parameters..."), output;
Process app("app.exe");
app.InputOutput(input, output);
std::cout<<output;
这一定已经回答过了,但我似乎缺乏适当的术语来查找它。
以防万一,我正在使用 GCC 5.3.0 在 Windows 10 上运行 Eclipse CDT
编辑:我需要能够反复向“app.exe”发送一些值并反复接收响应,而不仅仅是使用参数调用它。这是一个小型个人项目所需要的,所以我不关心它是特定于平台的。
【问题讨论】:
-
术语:试试“windows c++ pipe stdout”。您想要生成一个进程并将其标准输出重定向到管道。
-
This code 可能会给你一个有用的起点。它只接收来自子进程的输出(它不能发送输入),但它可以被修改为以一种希望显而易见的方式这样做。
标签: c++ windows gcc mingw console-application