Rechercher une page de manuel
lseek
Langue: fr
Version: 24 septembre 2001 (mandriva - 01/05/08)
Section: 2 (Appels système)
NOM
lseek - Positionner la tête de lecture/écriture dans un fichierSYNOPSIS
#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 ouvert 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 intermédiaire 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 (off_t)-1 est renvoyée, et errno contient le code d'erreur.ERREURS
- EBADF
- fildes 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
- fildes est associé à un tube (pipe), une socket, ou une file FIFO.
CONFORMITÉ
SVr4, SD 4.3, POSIX.1-2001.NOTES
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 :
| ancien | nouveau |
| 0 | SEEK_SET |
| 1 | SEEK_CUR |
| 2 | SEEK_END |
| L_SET | SEEK_SET |
| L_INCR | SEEK_CUR |
| L_XTND | SEEK_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
dup(2), fork(2), open(2), fseek(3), lseek64(3), posix_fallocate(3)TRADUCTION
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 28 novembre 2007.
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.
Au bout de quoi ils l'ont viré pour le remplacer par un gros gadget
qui fait tout ce que faisait mon père, mais mieux. Le plus déprimant,
c'est que ma mère a quitté la maison et en a acheté un, elle aussi.
-+- Woody Allen -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre