пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Потоковый ввод-вывод в С. Дескриптор файлов.Типовая технология обмена информацией между внешними устройствами и оперативной памятью

(рисунок на 7 странице коричневой методички)

Устройства внешней памяти в общем случае являются устройствами поблочного обмена, т. е. за одно обращение к устройству производится считывание или запись фиксированной порции данных, которая размещается в буфере операционной системы - участок оперативной памяти, в который помещается часть информации из файла или из которого передается в файл информация. Чаще всего минимальной порцией данных, участвующих в обмене с внешней памятью, являются блоки в 512 или в 1024 байта. При вводе с диска (при чтении из файла) данные помещаются в буфер, а затем побайтно или определенными порциями передаются в зону обработки программы пользователя. При выводе данных они накапливаются в буфере, а при заполнении буфера записываются в виде единого блока на диск за одно обращение к последнему. Таким образом, пересылки между буферами ввода-вывода и выполняемой программой обработки файла происходят достаточно быстро в отличие от реальных обменов с физическими устройствами. Такая технология позволяет обрабатывать данные различных размеров и форматов. В связи с этой технологией появился термин «поток»:Поток-это файл вместе с представляемыми средствами буферизации.

Функции библиотеки ввода – вывода позволяют производить следующие действия при работе с потоком:

  • Открывать и закрывать потоки (связывать указатели на потоки с конкретными файлами);
  • Вводить и выводить: символ, строку, форматированные данные, порцию данных произвольной длины;
  •  Анализировать ошибки потокового ввода – вывода и условие достижения конца потока (конца файла);
  • Управлять буферизацией потока, в частности, размером буфера;
  • Получать и устанавливать указатель (индикатор) текущей позиции в потоке.

Для того, чтобы можно было использовать функции библиотеки ввода-вывода языка Си, в программу необходимо включить заголовочный файл <stdio.h> (# include <stdio.h>), который содержит прототипы функций ввода – вывода, а также определения констант, типов и структур, необходимых для работы функций с потоком.

Дескриптор – это целое число, характеризующее размещение информации об открытии файла во внутренних таблицах операционной системы.

 


22.06.2017; 00:58
хиты: 59
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь