long lseek(int handle, long offset, int origin)
Функция lseek() является частью UNIX-подобной системы ввода/вывода и не определена в стандарте ANSI С.
Функция lseek() устанавливает указатель положения в файле, указанном дескриптором handle, в положение, указанное аргументами offset и origin.
Действия lseek() зависят от значений аргументов origin и offset. Аргумент origin может принимать значения 0, 1 или 2. В следующей таблице показано, как интерпретируется смещение offset для каждого значения origin:
Origin | Результат обращения к lseek() |
---|---|
0 | Смещение отсчитывается от начала файла |
1 | Смещение отсчитывается от текущей позиции |
2 | Смещение отсчитывается от конца файла |
В файле io.h определены перечисленные ниже макросы. Они могут использоваться в качестве значения origin в порядке от 0 до 2.
SEEK_SET
SEEK_CUR
SEEK_END
В случае успеха функция lseek() возвращает offset, т.е. целое число типа long. При неудаче возвращается — 1L и errno устанавливается в одно из следующих значений:
EBADF | Недействительный номер файла |
EINVAL | Недействительный аргумент |