У меня есть консольное приложение app.exe, которое я хочу вызвать из C++-программы, а затем общаюсь с ним, как если бы это была командная строка. По сути, я хочу сделать обертку C++ вокруг другого консольного приложения, чтобы я мог передавать его по своему желанию и получать вывод.Вызов консольного приложения из C++-программы
В псевдо-код что-то вроде:
std:string input("...some parameters..."), output;
Process app("app.exe");
app.InputOutput(input, output);
std::cout<<output;
Это, должно быть, был дан ответ уже, но я, кажется, не хватает надлежащей терминологии, чтобы посмотреть его.
В случае это особенно важно, я бегу Eclipse CDT на Windows 10 с GCC 5.3.0
EDIT: Мне нужно, чтобы иметь возможность повторно отправить некоторые значения «App.exe» и повторно получить ответ, а чем просто вызвать его с параметрами. Это необходимо для небольшого личного проекта, поэтому я не забочусь о том, чтобы он был специфичным для платформы.
Терминология: попробуйте «windows C++ pipe stdout». Вы хотите создать процесс и перенаправить его stdout в канал. – jdigital
[Этот код] (http://stackoverflow.com/a/10888698/886887) может дать вам полезную отправную точку. Он получает только выходной сигнал дочернего процесса (он не может отправлять входные данные), но он может быть изменен, чтобы сделать это, мы надеемся, очевидным образом. –