lseek   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (2)
Updated: 24 septembre 2001
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
lseek - Positionner la tête de lecture/écriture dans un fichier  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <sys/types.h>
#include <unistd.h>

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




DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
La fonction lseek() place la tête de lecture/écriture à la position offset dans le fichier ouvert associé au descripteur fd 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 intermédiaire retournera des zéros (jusqu'à ce que d'autres données y soient écrites).  




VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
lseek(), s'il réussit, renvoie le nouvel emplacement, mesuré en octets depuis le début, du fichier. En cas d'échec, la valeur (off_t) -1 est renvoyée, et errno contient le code d'erreur.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
EBADF
fd n'est pas un descripteur de fichier ouvert.
EINVAL
whence n'est pas SEEK_SET, SEEK_CUR ou SEEK_END, ou la tête de lecture serait négative, ou serait après la fin du périphérique.
EOVERFLOW
La tête de lecture ne peut pas être représentée sur un off_t.
ESPIPE
fd est associé à un tube (pipe), une socket, ou une file FIFO.
 



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
SVr4, SD 4.3, POSIX.1-2001.  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Certains périphériques ne permettent pas de positionnement direct, POSIX ne précise pas le comportement à adopter dans ce cas.

Sous Linux, l'utilisation de lseek() sur un périphérique tty renvoie ESPIPE.

Lors de la conversion d'un ancien code, substituez les valeurs suivantes :
anciennouveau
0SEEK_SET
1SEEK_CUR
2SEEK_END
L_SETSEEK_SET
L_INCRSEEK_CUR
L_XTNDSEEK_END

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

Notez que les descripteurs de fichiers dupliqués par dup(2) ou fork(2) partagent le même pointeur de position. Ainsi le déplacement sur de tels fichiers peut conduire à des problèmes d'accès concurrents.  




VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
dup(2), fork(2), open(2), fseek(3), lseek64(3), posix_fallocate(3)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 10 octobre 1996 et révisée le 14 janvier 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 lseek ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
EBADFERREURS
EINVALERREURS
EOVERFLOWERREURS
ESPIPEERREURS
SEEK_CURDESCRIPTION
SEEK_ENDDESCRIPTION
SEEK_SETDESCRIPTION



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:48:49, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional