Передать вывод внешнего процесса в работающий скрипт C ++ - PullRequest
1 голос
/ 02 марта 2012

Я делаю простой bash-терминал с фреймворком SFML для C ++.Я понимаю, как начать внешний процесс с system () fn, но мне нужен способ для потоковой передачи вывода дочернего процесса в текущий скрипт.Есть ли простой способ сделать это?Возможно, используя взломать fstream?Я использую Unix.

1 Ответ

2 голосов
/ 02 марта 2012

Вам необходимо использовать pipe () s -. Основная идея состоит в том, чтобы fork () затем dup2 () дескрипторы файлов 0 (stdin), 1 (stdout) и, соответственно, 2 (stderr) в определенные каналы и затем waitpid () в вашей "основной" ветке ветки, пока вы не получите WIFEXITED в "дочерней" ветке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...