NOM
pread, pwrite, pread64, pwrite64 - Lire ou écrire à une position donnée
d’un descripteur de fichier.
SYNOPSIS
#define _XOPEN_SOURCE 500
#include <unistd.h>
ssize_t pread(int fd, void *buf, size_t count, off_t offset);
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
ssize_t pread64(int fd, void *buf, size_t count, off64_t offset);
ssize_t pwrite64(int fd, const void *buf, size_t count, off64_t offset)
En environnement 32 bits, pread64 et pwrite64 opèrent sur les fichiers
de taille supérieure à 2 Go (moins un octet). Se référer à open(2)
(O_LARGEFILE) et au standard LFS.
pread() lit au maximum count octets depuis le descripteur fd, à la
position offset (mesurée depuis le début du fichier), et les place dans
la zone commençant à l’adresse buf. La position de la tête de lecture
du fichier n’est pas modifiée par cet appel système.
pwrite() lit au maximum count octets dans la zone mémoire pointée par
buf, et les écrit à la position offset (mesurée depuis le début du
fichier) dans le descripteur fd. La position de la tête d’écriture du
fichier n’est pas modifiée.
Dans les deux cas, le fichier décrit par fd doit permettre le
positionnement.
VALEUR RENVOYÉE
S’ils réussissent, ces appels système renvoient le nombre d’octets lus
ou écrits (0 indiquant que rien n’a été écrit dans le cas de pwrite(),
ou la fin du fichier dans le cas de pread()). En cas d’échec, ils
renvoient -1, et remplissent errno en conséquence.
ERREURS
pread() peut échouer et fournir dans errno n’importe quelle erreur
indiquée par read(2) ou lseek(2). pwrite() peut échouer et fournir dans
errno n’importe quelle erreur indiquée par write(2) ou lseek(2).
VERSIONS
Les appels système pread() et pwrite() ont été ajoutés dans le noyau
Linux 2.1.60. Les points d’entrée dans la table des appels i386 furent
instaurés dans la version 2.1.69. Le support par la bibliothèque C, y
compris l’émulation utilisant lseek(2) sur les anciens noyaux sans ces
appels système, fut ajouté dans la glibc 2.1.
CONFORMITÉ
POSIX.1-2001.
VOIR AUSSI
lseek(2), read(2), write(2), feature_test_macros(7)
COLOPHON
Cette page fait partie de la publication 3.23 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent être trouvées à l’adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Révisé pour ce site par l'équipe man-linux-magique.net (Octobre 2010).
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».