Выполнить команду оболочки из среды C и перенаправить вывод - PullRequest
0 голосов
/ 21 мая 2018

Я видел, что есть некоторые вопросы по этой теме, но ни один из ответов не удовлетворил меня.Вот проблема: мне нужно написать два сокета (клиент и сервер), при этом клиент должен отправить на сервер программу awk с несколькими строками ввода.Нет проблем при отправке строк назад и вперед между сокетами.Предположим, я сохранил программу в строке command и строку, которую я должен передать ей в input, я попытался это сделать:

execl("/usr/bin/awk", command, input, (char *)0);

И это работает, программа awk запускается и пишетна стандартный вывод сервера и стандартный вывод.Дело в том, что если есть строки с ошибками, мне нужно отправить их обратно клиенту, что довольно невозможно, так как execl не дает мне возможности сохранить результаты в массивах.Итак, кто-нибудь знает способ сделать это без использования system и popen?

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