C.5.4. Переназначение потоков

Использование потоков не имело бы никаких преимуществ перед прямым программированием устройств, если бы их нельзя было переназначать с одного устройства на другое, а также переназначить ввод/вывод информации устройством в файл. Для этого используются следующие конструкции (в DOS и UNIX).

> - переназначает стандартный поток вывода другому устройству (или файлу). Если этот файл существует, он очищается, и на его место записывается новая информация. Используется в DOS и UNIX. В UNIX те же действия может осуществлять конструкция 1>.
>> - То же самое, но если файл существует, то новая информация записывается в конец этого файла. Используется в DOS и UNIX. Для UNIX также можно использовать конструкцию 1>>.

C.5.5. Переназначение стандартного потока ошибок (в UNIX).

Обычными средствами DOS не может перенаправить стандартный поток ошибок. В UNIX для этого можно использовать команды 2> и 2>>, соответствующие вышеприведенным для стандартного потока вывода.

Для перенаправления в UNIX стандартного потока ошибок в стандартный поток вывода используется конструкция >$ (по умолчанию в UNIX стандартному потоку ввода присваивается номер 0, стандартному потоку вывода - 1, а стандартному потоку ошибок - 2. Конструкция в UNIX 0 >$ 2 переназначает стандартный поток ввода в стандартный поток ошибок, то есть все символы, введенные в этом сеансе с клавиатуры, тут же отображаются на экране, и их нельзя перенаправить в файл).

C.5.6. Перенаправление потока ввода.

Переадресация стандартного ввода осуществляется конструкцией < для DOS и UNIX и 0> только для UNIX.

Пример использования переадресации (ввод данных программой по умолчанию производится с клавиатуры, и обработанная ею информация выводится на экран):

program < indata.dat >> outdata.txt

В данном примере входные данные программы program читаются из файла indata.dat и записываются в файл outdata.txt.

В примере:

sort < mylist > prn

данные из файла mylist сортируются стандартной программой MS-DOS sort и результат выводится на принтер.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: