Шрифт:
Как это работает
Программа применяет функцию
Отправка вывода в popen
Теперь, когда вы рассмотрели пример захвата вывода из внешней программы, давайте познакомимся с отправкой вывода во внешнюю программу. В упражнении 13.2 показана программа popen2.c, передающая по каналу данные другой программе. В этом примере будет использована команда od (от англ. octal dump — восьмеричный дамп).
Взглянув на следующий программный код, вы увидите, что он очень похож на предыдущий пример, за исключением того, что вы пишете данные в канал вместо чтения данных из него. Далее приведена программа popen2.c.
После выполнения этой программы вы должны получить следующий вывод:
Как это работает
Программа применяет
Такой же вывод можно получить из командной строки с помощью следующей команды:
Передача данных большого объема
Механизм, применявшийся до сих пор, просто отправляет и получает все данные в одном вызове
В упражнении 13.3 приведена программа popen3.c, читающая все данные из канала.
В этой программе вы читаете данные из вызванного процесса