lseek(2)lseek(2)NAMElseek - Move read-write file offset
#include <sys/types.h> #include <unistd.h>
int whence );
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
lseek(): XSH4.0, XSH4.2, XSH5.0, XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
Specifies a file descriptor obtained from a successful open() or
fcntl() function. Specifies a value, in bytes, that is used in con‐
junction with the whence parameter to set the file pointer. A negative
value causes seeking in the reverse direction. The resulting file posi‐
tion may also be negative. Specifies how to interpret the offset
parameter in setting the file pointer associated with the filedes
parameter. Values for the whence parameter are: Sets the file pointer
to the value of the offset parameter. Sets the file pointer to its
current location plus the value of the offset parameter. Sets the file
pointer to the size of the file plus the value of the offset parameter.
The lseek() function sets the file offset for the open file specified
by the filedes parameter. The whence parameter determines how the off‐
set is to be interpreted.
The lseek() function allows the file offset to be set beyond the end of
existing data in the file. If data is later written at this point, sub‐
sequently reading data in the gap returns bytes with the value 0 (zero)
until data is actually written into the gap.
By itself, the lseek() function does not extend the size of the file.
Upon successful completion, the resulting pointer location (the file
offset), measured in bytes from the beginning of the file, is returned.
If the lseek() function fails, the file offset remains unchanged, a
value of (off_t) - 1 is returned, and errno is set to indicate the
If the lseek() function fails, the file offset remains unchanged and
errno may be set to one of the following values: The filedes parameter
is not an open file descriptor. The whence parameter is an invalid
value or the resulting file offset would be invalid. The filedes
parameter is associated with a pipe (FIFO), a socket, or a multiplexed
The filedes parameter underlying the stream is associated with a
Functions: fcntl(2), fseek(3), open(2), read(2), write(2)