Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Проблема с перенаправлением |
Автор: battosai 28.11.2008, 01:03 |
Доброго времени суток. Есть проблема: надо написать программу, которая при вызове program 4>text2 записывает в text2 информацию из файла, который надо связать с дескриптором 4. Текст проги: int main() { int d; d=dup2((open("text1",O_RDONLY), 4); return 0; } Но при вышеуказанном вызове в файле text2 пусто. |
Автор: inside_pointer 28.11.2008, 03:52 | ||||
надо подавать символы туда, а не просто прицепить файл к дескриптору процесс работы
|
Автор: MAKCim 28.11.2008, 09:18 |
inside_pointer, text2 еще открыть желательно ![]() |
Автор: inside_pointer 28.11.2008, 10:05 |
судя по запросу ему надо в оболочке, иначе придётся экранировать gt, а потом разбирать первый параметр программы (ну после пути вызова) тут можно (и нужно скорее всего) без дублирования дескриптора сделать, но вдруг ему необходимо write(5, buf, n) пишет не в файл, а в дескриптор системы (это файл обычно в недрах), потому ошибки как бы не будет даже если 5 дескриптор не описан в программе, и прога не виснет по какой-то причине если просто ./test вызываешь, наверно дескриптор принимает данные, даже если их не извлекают оттуда |
Автор: inside_pointer 28.11.2008, 12:38 | ||
|
Автор: MAKCim 28.11.2008, 14:01 |
ну если так, то да |