![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Реализация конвейера на Си! NEED HELP! |
|
Реализация конвейера на Си! NEED HELP!
|
Новый участник Сообщения: 36 |
Подскажите, пожалуйства алгоритм реализации конвейера с произвольным числом команд на Си (разумеется).
Например: как написать вот такой конвейер: ls | cat | cat | ... | cat ? Спасибо! |
|
Отправлено: 21:43, 17-12-2008 |
info man howto Сообщения: 6960
|
Профиль | Сайт | Отправить PM | Цитировать Конвейер уже существует, что вы хотите реализовывать ?
|
------- Отправлено: 20:21, 20-12-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать На C программа ls пишет printf("",...); или puts() в стандартный выходной поток stdout (его имя не упоминается, потомучто он по умолчанию) , затем операционная система(неважно какая: Win, Lin или UNIX(первоначально C разрабатывался для UNIX)) записывает эти данные во временный файл и подсовывает этот файл следующей программе конвейера в качестве входного потока "по умолчанию" stdin, далее программа cat берет из этого файла информацию операторами scanf(); gets(); getchar(); и т.п. и пишет данные в следующий выходной поток, ОС стирает предыдущий временный файл, а следующий cat уже из текущего временного файла считывает информацию и т.д.
Причем программа на Си "не знает" из какого файла берет информацию и в какой файл пишет, этим занимается ОС. В своё время это считалось очень крутым достоинством UNIX. |
Отправлено: 10:57, 24-01-2009 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - Реализация Nullable(пустой) DatetimePicker | Delirium | Программирование и базы данных | 5 | 15-02-2011 00:53 | |
[решено] Реализация доступа к интернет. | zubkoff.s | Microsoft Windows NT/2000/2003 | 24 | 01-02-2010 11:28 | |
C/C++ - Реализация Zoom`а в Borland C++ Builder | DaRiYs | Программирование и базы данных | 2 | 21-12-2009 02:12 | |
C/C++ - Реализация формулы... | ganselo | Программирование и базы данных | 1 | 20-01-2009 19:38 | |
Разное - Ситема терминалов (реализация) | piling | Microsoft Windows 2000/XP | 2 | 13-02-2008 22:52 |
|