Функция lseek() в языке программирования Си позволяет передвигаться по файлу, не производя фактического чтения или записи. 3
Работа функции заключается в следующем: в файле с дескриптором fd она устанавливает текущую позицию, смещая её на величину offset относительно места, задаваемого значением origin. 1
Значения параметра origin 0, 1 или 2 означают, что на величину offset отступают соответственно от начала, текущей позиции или конца файла. 1
Например, чтобы дополнить файл, следует перед записью найти его конец с помощью вызова lseek(fd, 0l, 2). 3 Чтобы вернуться к началу, можно написать lseek(fd, 0l, 0). 3
В случае успеха функция lseek() возвращает offset, то есть целое число типа long. 4 При неудаче возвращается — 1L и errno устанавливается в одно из значений: EBADF (недействительный номер файла) или EINVAL (недействительный аргумент). 4