Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1-16.doc
Скачиваний:
10
Добавлен:
12.05.2015
Размер:
141.82 Кб
Скачать

- 9-

Информатика

Лабораторная работа 1-16

Лабораторная работа № 1-16

Ввод-вывод в Cс использованием файлов

1. Цель работы

Целью работы является разработка, отладка и выполнение программы на C с использованием операций ввода-вывода в файлы.

2. Состав рабочего места

2.1. Оборудование: IBM-совместимый персональный компьютер (ПК).

2.2. Программное обеспечение: операционная системаWindows, интегрированная оболочкаDevC++.

3. Краткие теоретические сведения

3.1. Ввод и вывод в C

Язык Cрассматривает файл как последовательность байтов, каждый из которых может быть прочитан индивидуально. Это отвечает структуре файла в средеUnix, откуда происходит языкC.

Функции ввода и вывода в стандартной библиотеке Cпозволяют читать данные из файлов или получать их с устройств ввода и записывать данные в файлы или выводить их на различные устройства.

В C имеются два класса функций ввода-вывода: функции ввода-вывода верхнего уровня и функции ввода-вывода нижнего уровня.

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

Для пользователя файл, открытый на верхнем уровне, представляется как последовательность считываемых или записываемых байтов. Эта последовательность считываемых или записываемых байтов называют потоком(stream).

Когда поток открывается для ввода-вывода, он связывается со структурой типа FILE(имя типаFILEопределяется с помощью оператораtypedefв разделеstdio.hстандартной библиотекиC) с помощью указателя. Этот указатель используется для всех операций с данным файлом (открытия, чтения, записи и закрытия).

Функции ввода-вывода верхнего уровня дают возможность обрабатывать как форматированные, так и неформатированные данные.

Функции ввода-вывода верхнего уровня одинаково реализуются в различных операционных системах и на разных компьютерных платформах, т.е. с их помощью можно писать переносимые программы.

Все функции ввода-вывода верхнего уровня описаны в разделе stdio.h.

Функции ввода-вывода нижнего уровняне выполняют буферизацию и форматирование данных, но они позволяют непосредственно пользоваться средствами ввода-вывода операционной системы.

При работе с файлом на нижнем уровне с ним связывается дескриптор(handle). Дескриптор является целым значением, характеризующим размещение информации об открытом файле во внутренних таблицах системы.

Функции нижнего уровня из стандартной библиотеки целесообразно использовать при разработке своей собственной подсистемы ввода-вывода.

Функции ввода-вывода нижнего уровня переносимы в рамках некоторых систем программирования C, в частности относящихся к операционной системе Unix.

Описания функций нижнего уровня содержатся в разделе io.h стандартной библиотекиC.

Стандарт ANSICподдержи­вает только стандартный пакет ввода/вывода, так как нет возможности представления всех операционных сис­тем одной моделью низкоуровне­вого ввода/вывода.

В данной дисциплине рассматриваются только библиотечные функции верхнего уровня.

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