Справочник по C/C++
fseek()

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

Описание

Смещает индикатор позиции файла, связанного с потоком

Функция fseek() устанавливает индикатор позиции файла, связанного с потоком stream, в соответствии со значениями смещения offset и исходного положения origin. Назначение этой функции — поддерживать операции ввода-вывода с произвольным доступом. Параметр offset представляет собой количество байтов, на которые будет перемещен внутренний указатель файла (индикатор позиции файла) относительно точки отсчета, заданной параметром origin. В качестве значения для параметра origin должен быть взят один из следующих макросов (определенных в заголовке <stdio.h>).

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

Нулевое значение возврата свидетельствует об успешном выполнении функции fseek(), а ненулевое — о возникновении сбоя.

Вообще говоря, функцию fseek() следует использовать только при работе с двоичными файлами. При использовании же с текстовым файлом параметр origin должен иметь значение SEEK_SET, а параметр offset — значение, полученное в результате вызова функции ftell() для того же файла, или нуль (чтобы установить индикатор позиции файла в начало).

Функция fseek() очищает признак конца файла, связанный с заданным потоком. Более того, она обнуляет любой установленный ранее признак наличия для файла символа, возвращенного в тот же поток посредством вызова функции ungetc() (см. раздел "ungetc" ).



Реклама