Общие сведения о вводе-выводе

В Си отсутствуют встроенные операторы (операции) ввода-вывода. Для ввода-вывода используются стандартные библиотеки функций. Рассмотрим одну из стандартных библиотек ввода- вывода, большинство функций которой описаны в заголовочном файле stdio.h. Иногда функции этой библиотеки называют функциями ввода- вывода «высокого» уровня, так как эти функции не учитывают особенности конкретной архитектуры компьютера и используемой операционной системы. Эти функции присутствуют в эквивалентной форме во всех системах, поддерживающих язык Си.

Рассмотрим некоторые понятия, используемые в этой библиотеке. Основное понятие – поток ввода-вывода.

Потоком (stream)называется источник или получатель данных, который можно ассоциировать с диском или другим внешним устройством ввода- вывода. Поток можно рассматривать как последовательность байтов (символов), поток связан с некоторым устройством ввода- вывода (файл, принтер, монитор, клавиатура и др.), с которым ведется обмен. С точки зрения программы поток не зависит от устройства, с которым он связан, т.е. поток не зависит от технической реализации конкретного устройства ввода- вывода.

Классификация потоков ввода- вывода:

По направлению:

- входные;

- выходные;

- двунаправленные.

По использованию буфера в оперативной памяти:

- буферизированные;

- небуферизированные.

Использование буфера ввода- вывода в оперативной памяти позволяет с некоторых случаях существенно увеличить быстродействие программы, которая часто выполняет операции ввода- вывода с внешними устройствами, быстродействие которых существенно меньше (на порядки), чем быстродействие оперативной памяти. При буферизированном вводе выводе данные вначале отправляются в специальный буфер в оперативной памяти, по заполнению буфера они отправляются дальше (в переменные программы или во внешнее устройство вывода). Управляет буфером, как правило, операционная система, но существуют функции в библиотеке для сброса буфера. Схема буферизированного ввода- вывода представлена на рисунке ниже.

 

Оперативная память
Программа
Выводимые данные
Буфер вывода
Внешнее устройство вывода
Оперативная память
Программа
Принимающие объекты
Буфер ввода
Внешнее устройство ввода

 









Дата добавления: 2015-08-14; просмотров: 783;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.