|
НАЗВАНИЕ
lseek - передвижение указателя чтения/записи
СИНТАКСИС
long lseek (fildes, offset, whence) int fildes; long offset; int whence;
ОПИСАНИЕ
Аргумент fildes - это дескриптор файла, полученный после выполнения системных вызовов creat, open, dup или
fcntl. Системный вызов lseek устанавливает указатель
текущей позиции файла, ассоциированного с дескриптором
fildes, следующим образом, в зависимости от значения
аргумента whence:
0 | Значение указателя устанавливается равным offset байт. |
---|---|
1 | К текущему значению указателя прибавляется значение offset. |
2 | Значением указателя становится размер файла плюс offset. |
При успешном завершении системного вызова lseek возвращается новое значение указателя текущей позиции (в байтах) относительно начала файла. Отметим, что если fildes является дескриптором файла на удаленном компьютере и значение offset отрицательно, вызов lseek возвращает значение указателя текущей позиции, даже если оно отрицательно.
Системный вызов lseek завершается неудачей и указатель текущей позиции не изменяется, если выполнено хотя бы одно из следующих условий:
Некоторые устройства не поддерживают передвижение указателя текущей позиции. Для файлов, ассоциированных с такими устройствами, значение указателя не определено.
СМ. ТАКЖЕ
creat(2), dup(2), fcntl(2), open(2).
ДИАГНОСТИКА
При успешном завершении результатом служит неотрицательное целое число - указатель текущей позиции в файле; в случае ошибки возвращается -1, а переменной errno
присваивается код ошибки
|