Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C. Тема 3. Раздел 1

.pdf
Скачиваний:
16
Добавлен:
21.03.2016
Размер:
574 Кб
Скачать

Тема 3. Ввод и вывод. Раздел 1. Потоки ввода-вывода

Стандартные потоки ввода-вывода

Переключение стандартных потоков вводавывода

Часть 1

Поток ввода-вывода (поток данных, stream) – абстракция, используемая для единообразного чтения или записи файлов, передачи сообщений по сети с помощью сокетов, общения с различными аппаратными устройствами и прочими источниками/приёмниками данных

В операционной системе Unix и подобных системах, основанных на языке Си

Поток – это источник или приёмник данных, обычно представляемых в виде индивидуальных байтов или символов

Стандартные потоки ввода-вывода – это каналы ввода и вывода данных между компьютерной программной и внешней средой (обычно текстовым терминалом), автоматически предварительно соединённые в момент запуска программы

Каждый стандартный поток ввода-вывода ассоциирован с дескриптором файла

Дескриптор файла (File descriptor) – абстрактный ключ для доступа к файлу

В операционных системах, соответствующих POSIX дескриптор файла – это целое число от

0 до OPEN_MAX

В Windows дескриптор файла – это file handle

Обычно стандартные потоки ввода-вывода характерны для

Операционных систем Unix

Unix-подобных операционных систем

Некоторых программных сред исполнения программ

Типовые потоки ввода-вывода

Стандартный поток ввода

Стандартный поток вывода

Стандартный поток ошибок

Нестандартные потоки ввода-вывода и их дескрипторы используются для общения с нестандартными устройствами

После установки драйвера устройства в системе появляется новый дескриптор файла, зная который можно обмениваться с этим устройством информацией

Это характерно для Unix и Windows

Дескриптор потока: 0

Название потока: stdin

Символическая константа в POSIX: STDIN_FILENO

Типовое назначение потока: чтение с устройства текстового ввода интерфейса пользователя (клавиатуры)

Дескриптор потока: 1

Название потока: stdout

Символическая константа в POSIX: STDOUT_FILENO

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

Дескриптор потока: 2

Название потока: stderr

Символическая константа в POSIX: STDERR_FILENO

Типовое назначение потока: вывод диагностических и отладочных сообщений в текстовом виде

Обычно информация направляется на то же устройство, что и stdout

Дескриптор потока: 3

Название потока: stdaux

Символическая константа в POSIX: отсутствует

Типовое назначение потока: ввод-вывод данных, обычно массивов байтов, на устройство, подключённое к последовательному порту COM1

Данный поток вывода использовался только в

DOS

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]