НАЗВАНИЕ
fseek, rewind, ftell - установка текущей позиции потока
СИНТАКСИС
#include <stdio.h> int fseek (stream, offset, ptrname) FILE *stream; long offset; int ptrname; void rewind (stream) FILE *stream; long ftell (stream) FILE *stream;
ОПИСАНИЕ
Функция fseek устанавливает позицию следующей операции
ввода/вывода для потока stream. Новая позиция находится
на расстоянии offset байт от начала, от текущей позиции
или от байта, содержащего признак конца файла в зависимости от значения аргумента ptrname (0, 1 или 2 соответственно). Если значение offset отрицательно, то новая позиция будет расположена левее точки отсчета.
Действие функции rewind (stream) совпадает с действием функции fseek (stream, 0L, 0). Отличие только в том, что функция rewind не возвращает никакого значения.
Функции fseek и rewind аннулируют действие функции ungetc(3S).
В файле, открытом для чтения и записи, после вызова функций fseek и rewind допустимы как операции чтения, так и записи.
Функция ftell возвращает смещение текущей позиции относительно начала файла, ассоциированного с указанным потоком stream.
СМ. ТАКЖЕ
lseek(2), fopen(3S), popen(3S), stdio(3S), ungetc(3S).
ДИАГНОСТИКА
При неудачном завершении функция fseek возвращает ненулевое значение, в противном случае результат равен 0.
Неудача может об ясняться тем, что файл не был открыт
посредством функции fopen; в частности, функцию fseek
нельзя использовать для потоков, ассоциированных с терминалом, а также для файлов, открытых функцией
popen(3S).