Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Произвольный доступ к файлу

Зачем нужны файлы? | Запись информации в файл | Запись в файл значений переменных | Чтение информации из файла | Чтение файла целиком | Пример нисходящей разработки |


Читайте также:
  1. ECN И ПРЯМОЙ ДОСТУП
  2. HUAWEI WS880 САМЫЙ ДОСТУПНЫЙ АС-РОУТЕР
  3. VII. Хирургия. Навык хирургии позволяет персонажу снимать критические состояния с других персонажей и себя. Последний уровень навыка доступен только персонажу класса Медик.
  4. А) Доступ в рыцарские ряды в теории
  5. Алла Недоступ
  6. Б) Доступ в рыцарские ряды в реальности
  7. Базовый доступ. Обнаружение вызова.

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

Рассмотрим работу функции fseek() на примере файла со следующим содержимым:

 

.

 

fseek(myFile, 0, SEEK_SET);

putchar(fgetc(myFile));

fseek(myFile, -1, SEEK_END);

putchar(fgetc(myFile));

fseek(myFile, 20, SEEK_SET);

putchar(fgetc(myFile));

fseek(myFile, -20, SEEK_END);

putchar(fgetc(myFile));

fseek(myFile, 32, SEEK_SET);

putchar(fgetc(myFile));

fseek(myFile, -33, SEEK_END);

putchar(fgetc(myFile));

 

 

Константа SEEK_SET SEEK_CUR SEEK_END
Позиция Начало файла Текущая позиция Конец файла

 

Еще одна полезная функция, относящаяся к произвольному доступу, – это функция ftell(), которая возвращает номер текущей позиции, производя отсчет от начала файла.


Дата добавления: 2015-08-17; просмотров: 57 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Бинарный и текстовый режимы| Вывод файла в обратном порядке

mybiblioteka.su - 2015-2024 год. (0.006 сек.)