FSEEK(3S)

НАЗВАНИЕ
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).