Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
lemegeton
Зарегистрирован: 05.07.2005 Сообщения: 1
|
Добавлено: Сб Июл 23 2005 19:30 Заголовок сообщения: перенаправление стандартного вывода |
|
|
Всем привет! Функция system() направляет результат выполнения в стандартный вывод, т.е. на экран. Мне надо вернуть результат выполнения в переменную для манипуляций с ней. Как это сделать? Другими словами мне надо перенаправить стандартный вывод в определенную переменную. Прога на Си. |
|
Вернуться к началу |
|
|
Aragaer
Зарегистрирован: 28.03.2005 Сообщения: 164
|
Добавлено: Сб Июл 23 2005 23:11 Заголовок сообщения: |
|
|
Использовать вызовы pipe и fork. Вместо system лучше использовать exec. _________________ Open your eyes.
And Awaken. |
|
Вернуться к началу |
|
|
nnivanov
Зарегистрирован: 24.07.2005 Сообщения: 7 Откуда: Velikiy Novgorod, Russia
|
Добавлено: Вс Июл 24 2005 04:35 Заголовок сообщения: |
|
|
Как правильно сказал Aragaer, лучше использовать пару fork-exec. Но в любом случае решение будет таковым:
1) Перенаправить стандартный вывод в файл (временный)
2) Прочитать из файла.
Большинство Unix-систем (если не все) осуществляют файловый операции асинхронно. Поэтому не помешает wait. |
|
Вернуться к началу |
|
|
|