LSEEK(2)

NOM
lseek - Positionner la tete de lecture/ecriture dans un fichier.

SYNOPSIS
#include <unistd.h>

off_t lseek(int fildes, off_t offset, int whence);

DESCRIPTION
La fonction lseek place la tete de lecture/ecriture a la position offset dans le fichier associe au descripteur fildes en suivant la directive whence. L'argument fildes doit etre un descripteur de fichier ouvert. Lseek positionne la tete de lecture/ecriture dans fildes comme suit :

    Si whence vaut SEEK_SET, la nouvelle position est offset octets depuis le debut du fichier. Si whence vaut SEEK_CUR, la tete de lecture/ecriture est avancee de offset octets. Si whence vaut SEEK_END, la tete est placee a la fin du fichier plus offset octets.
La fonction lseek permet de placer la tete au-dela de la fin actuelle du fichier. Si des donnees sont ecrites a cet emplacement, une lecture ulterieure de l'espace intermediaire retournera des zeros (jusqu'a ce que d'autres donnees y soient ecrites). Certains peripheriques ne permettent pas de positionnement direct, la valeur de la tete de lecture/ecriture avec de tels peripheriques est indefinie.

VALEUR RENVOYEE
lseek renvoie 0 s'il reussit, ou -1 s'il echoue, auquel cas errno contient le code d'erreur.

ERREURS

EBADF
    Fildes n'est pas un descripteur de fichier ouvert.

ESPIPE
    Fildes est associee a un tube (pipe), une socket, ou une file FIFO.

EINVAL
    Whence est invalide.

CONFORMITE
SVr4, POSIX, BSD 4.3

VOIR AUSSI
dup(2), open(2), fseek(3)