fseek

 Функция            Устанавливает указатель файла в потоке.

 Синтаксис          #include 
                    int fseek(FILE * stream, long offset,
                                                     int fromwhere);

 Файл, содержащий   stdio.h
 прототип

 Описание           Функция fseek устанавливает адресный указатель
                    файла, соответствующий потоку stream, в новую по-
                    зицию, которая расположена по смещению offset от-
                    носительно места в файле, определяемого парамет-
                    ром fromwhere.

                    Параметр fromwhere может иметь одно из трех зна-
                    чений 0, 1 или 2, которые представлены тремя сим-
                    волическими константами (определенными в файле
                    stdio.h), следующим образом:

                    ---------------------------------------------------
                    Параметр             Размещение в файле
                    fromwhere
                    --------------------------------------------------
                    SEEK_SET (0)          начало файла;
                    SEEK_CUR (1)          позиция текущего указателя
                                          файла;
                    SEEK_END (2)          конец файла (EOF);
                    --------------------------------------------------

                    Функция fseek сбрасывает любой символ, записанный
                    с помощью функции ungetc.

                    Функция fseek используется с операциями ввода/вы-
                    вода в поток. При работе с дескриптором файла
                    пользуйтесь функцией lseek.

                    После этой операции можно производить как ввод,
                    так и вывод в поток.

 Возвращаемое       Функция fseek возвращает значение 0, если
 значение           указатель файла успешно перемещен, и ненулевое
                    значение в случае неудачного завершения.

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

 Переносимость      Данная функция поддерживаются на системах UNIX
                    и стандартом ANSI C.

 Смотрите также     fgetpos fopen fsetpos ftell lseek rewind
                    setbuf tell

 Пример:

 #include 
 int main(void)
 {
    FILE *stream;
    stream = fopen("MYFILE.TXT", "r");
    print("filesize of MYFILE.TXT is %ld bytes\n",
           filesize(stream));
 }
 long filesize(FILE *stream);
 {
    long curpos,length;
    /* сохранить текущее положение указателя */
    curpos = ftell(stream);
    /* перейти в конец файла */
    fseek(stream, 0L, SEEK_END);
    /* получить текущее положение указателя */
    length = ftell(stream);
    /* восстановить старое положение */
    fseek(stream, curpos, SEEK_SET);
    return(length);
 }