Трубопровод в Linux
![](http://mediasubs.ru/author/avatar/4163361.png)
Привет всем.
С наступившим 2006.
С Рождеством.
Вопрос банальный.
Как в своей программе организовать прием из pipe.
Есть программа my_prog
Нужно что бы при 'cat filename | my_prog' она принимала данные.
Пытаюсь так:
int fd[2];
pipe(fd);
dup2(fd[0], 0);
close(fd[0]);
close(fd[1]);
read(0, .....);
В результате совсем не то, что ожидалось.
Если без примудростей:
read(0, .....);
то при 'my_prog' читает строку до Enter'а
А из трубы то же самое - не то, чего хочу.
Если можно, пример простой программки.
Рылся по исходникам. Ни .... не понял.
Всяк на свой лад.
Заранее спасибо.
On Fri, 6 Jan 2006 21:00:08 +0600
Владимир Ковалев wrote:
Забудь про пайп и считай, что у тебя пользователь вводит даные в
программу, строчка за строчкой.
Фактически это означает открытие файла /dev/stdin и чтение его пока не
коничтся.