Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_пяву_4.doc
Скачиваний:
101
Добавлен:
15.03.2015
Размер:
1.29 Mб
Скачать
      1. Прямой доступ к файлу

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

  • fseek(),

  • ftell(),

  • fgetpos(),

  • fsetpos().

Прямой доступ обычно реализуется для двоичных файлов с использованием функций fread() иfwrite().

        1. Функция fseek()

#include <stdio.h> int fseek(FILE* stream, long int offset, int whreefrom);

Функция fseek() обеспечивает прямой (произвольный) доступ к открытому потоку. Параметры:stream– файловый указатель,offset– смещение в символах от некоторой точки отсчета иwherefrom– параметр, определяющий точку отсчета. В языке Си определены три символические константы (SEEK_SET,SEEK_CURиSEEK_END), с помощью которых можно задать точку отсчетаwherefrom(см. таблицу, приведенную ниже).

Константа

Точка отсчета

SEEK_SET

Начало файла

SEEK_END

Конец файла

SEEK_CUR

Текущая позиция в файле

1Этот материал следует согласовать с материалом, изложенным в перой части по переменным

138