Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Конкурсы и Олимпиады по Машинному программированию (КОМП) Потоки в операционных системах


Информационный Канал Subscribe.Ru

Потоки в операционных системах

Очень многие участники не знают, что значит "prog < test.txt". Попробую рассказать об этом замечательном свойстве многих современных операционных систем. Тем более, что этого требуют задачи нашего конкурса. Странно, что команда "prog.exe < test.txt" из примера не заставила задуматься тех, кто прислал программы с нарушением. Интересно, для кого пишется пример.

Во многих операционных системах существует способ перенаправить поток данных их файла или в файл. Это естественный способ представить любую программу как функцию в операционной системе y=f(x). Есть другой взгляд. Программа – это фильтр на потоке данных. Схематично это выглядит так:
данные x > программа > данные y

Обычно данные x – это то, что набирают с клавиатуры, а данные y – это то, что программа выдаёт на экран. Символами ‘<’ и ‘>’ можно указать, что нужно данные брать из файла или записывать файл. Правда, в операционных системах вначале пишется имя программы, а потом остальное. Например, можно написать:
myprog <test.txt >res.txt
Это значит, что программа mypog будет получать данные из файла test.txt, а всё, что она выдаст, запишется в res.txt.

Самое замечательное, что программу менять не нужно. Она пишется, как обычно без файлов, будто вы читаете с клавиатуры и выдаёте на экран.

Есть маленькая хитрость для Turbo/Borland Pascal. Очень многие любят написать "Uses CRT". Этого уже достаточно, чтобы работа с потоками в такой программе отменилась.


Советую почитать команды операционных систем. Попробуйте узнать, что делает специальный символ ‘|’.



Автор: Пупышев Вячеслав Викторович   
e-mail: pvv@uni.udm.ru   
Web: http://colymp.da.ru   

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.comp
Архив рассылки
Отписаться
Вспомнить пароль

В избранное