Как вызвать внешнюю программу и получить вывод из другой программы - PullRequest
3 голосов
/ 25 января 2011

Как это сделать в c ++:

Предположим, что программа A - это инструмент командной строки с некоторыми входными данными (например, путями к файлам и числом), в соответствии со своими входными данными, она может получить некоторые другие параметрыво время выполнения.(if(condithin) cin<<something) Я хотел бы вызвать A из другой программы B и увидеть полный вывод A во время работы.Входы A должны быть введены (при необходимости).B - это инструмент с графическим интерфейсом, написанный на Qt, а A должен отображаться в виде простой текстовой области, а его входные данные должны отображаться в том же месте (как консольный клиент).

Я просто не знаюкогда начать.Чтение чего-то о IPC не помогло.Я знаю, что это возможно, потому что я вижу консольное окно Dolphin и интерпретатор python в Eric IDE ...

Ответы [ 2 ]

7 голосов
/ 25 января 2011

используйте QProcess :: execute метод для запуска выполнения A. Вы можете сформировать список аргументов из B для передачи в A. Используйте QProcess :: readAllStandardOutput () для чтения вывода процесса и отображения в B.

5 голосов
/ 25 января 2011

Поскольку вы используете Qt, использование QProcess , вероятно, лучший способ сделать это.

...