IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Потоки
сообщение
Сообщение #1


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


Чтобы перенаправить поток с выхода на вход нужно использовать временный файл или нужен другой способ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Анна @ 22.10.2008 19:30) *
перенаправить поток с выхода на вход

Это типа замкнуть процесс сам на себя?
Хм.. Никогда не задумывался над этим..
Так на вскидку придумать как обойтись без промежуточного файла не могу. Мне кажется. не обойтись без него.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


http://www.ict.edu.ru/ft/002355/lab6.htm

К примеру, tr -d "[0-9]" < a.txt | sort | uniq > b.txt
Поток с удаленными [0-9] с выхода подать на вход для сортировки и т.д.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
К примеру, tr -d "[0-9]" < a.txt | sort | uniq > b.txt
Поток с удаленными [0-9] с выхода подать на вход для сортировки и т.д.
Ну, и что? Я так тоже умею:
tasklist | sort
(поток с выхода tasklist подать на вход sort)... Конкретнее, в чем проблема? Тебе это что, на Паскале реализовать надо?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


Не знаю как реализовать на Паскале..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Ну, поскольку ты молчишь, на каком Паскале тебе это надо реализовать, и что представляет из себя тот самый поток, то предложу тебе вот такой вариант (псевдокод, но реализация существует... Раздел не тот, чтоб приводить программу полностью) :

type
stream = list; { <--- обычный односвязный список }

procedure read_stream(var f: text): stream; { <--- вернет указатель на голову списка }
begin {...} end;
procedure write_stream(in_stream: stream; var f: text);
begin {...} end;
procedure tr(in_stream: stream; params: set of char): stream;
begin {...} end;
procedure sort(in_stream: stream): stream;
begin {...} end;

{ Вызывается все это вот так: }
write_stream(sort(tr(read_stream(f_in), ['0' .. '9'])), f_out);


И никаких временных файлов... В принципе, вместо f_out можно даже подставить тот же f_in...

Теперь насчет списка... Чем не поток? Тоже обрабатывается последовательно, как и текстовый файл...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.10.2021 9:51
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name