我有一個控制檯應用程序'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)可能會給你一個有用的起點。它只接收來自子進程的輸出(它不能發送輸入),但它可以修改爲以顯而易見的方式執行。 –