我有一个控制台应用程序'app.exe',我想从C++程序调用,然后与它通信,就好像它是一个命令行一样。本质上,我想在另一个控制台应用程序中创建一个C++包装器,以便我可以随意地将输入传递给它并接收输出。从C++程序调用控制台应用程序
在伪代码是这样的:
std:string input("...some parameters..."), output;
Process app("app.exe");
app.InputOutput(input, output);
std::cout<<output;
这必须已回答了,但我似乎缺乏适当的术语来关注一下吧。
在它的事项的情况下,我在Windows 10上运行的Eclipse CDT使用GCC 5.3.0
编辑:我需要能够重复发送一些值“APP.EXE”,并多次得到响应,而而不仅仅是用参数调用它。这是一个小型个人项目所需要的,所以我不关心它是否是特定于平台的。
术语:尝试“windows C++ pipe stdout”。你想产生一个进程并将其stdout重定向到管道。 – jdigital
[This code](http://stackoverflow.com/a/10888698/886887)可能会给你一个有用的起点。它只接收来自子进程的输出(它不能发送输入),但它可以修改为以显而易见的方式执行。 –