Index général des pages de man   Index Section man 2   Table des Matières de lseek   Imprime la page de man lseek en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions du système (section 2)

lseek

 
  

Nom

lseek - Positionner la tête de lecture/écriture dans un fichier.

Synopsis

#include <sys/types.h>
#include <unistd.h>

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

Description

La fonction lseek place la tête de lecture/écriture à la position offset dans le fichier associé au descripteur fildes en suivant la directive whence ainsi :
SEEK_SET
La tête est placée à offset octets depuis le début du fichier.
SEEK_CUR
La tête de lecture/écriture est avancée de offset octets.
SEEK_END
La tête est placée à la fin du fichier plus offset octets.

La fonction lseek permet de placer la tête au-delà de la fin actuelle du fichier. Si des données sont écrites à cet emplacement, une lecture ultérieure de l'espace intermediaire retournera des zéros (jusqu'à ce que d'autres données y soient écrites).

Valeur Renvoyée

lseek, s'il réussit, renvoie le nouvel emplacement, mesuré en octets depuis le début, du fichier. En cas d'échec, la valeur -1 est renvoyée, et errno contient le code d'erreur.

Erreurs

EBADF
Fildes n'est pas un descripteur de fichier ouvert.
ESPIPE
Fildes est associée à un tube (pipe), une socket, ou une file FIFO.
EINVAL
Whence est invalide.

Conformité

SVr4, POSIX, BSD 4.3

Restrictions

Certains périphériques ne permettent pas de positionnement direct, POSIX ne précise pas le comportement à adopter dans ce cas.

Restrictions spécifiques à Linux : L'utilisation de lseek sur un péripherique tty renvoie ESPIPE. Les autres systèmes renvoient le nombre de caractères écrits en utilisant SEEK_SET pour positionner le compteur. Certains périphériques, comme /dev/null, ne renvoie pas l'erreur ESPIPE, mais renvoie un pointeur dont la valeur est indéfinie.

Notes

Lors de la conversion d'un ancien code, substituez les valeurs suivantes :

SVR1-3 renvoie un long à la place d'un off_t, BSD renvoie un int.

Voir Aussi

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

Traduction

Christophe Blaess, 1997.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"