FSEEK(3S) FSEEK(3S) НАЗВАНИЕ fseek, rewind, ftell - установка текущей позиции потока СИНТАКСИС |#include | |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).