Available in

(2) (2)/fr (2)/ja

Contents

NOM

pread, pwrite − 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);

DESCRIPTION

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/.

Les mises à jour et corrections de la version présente dans Debian sont directement gérées par Julien Cristau <jcristau [AT] debian.org> et l’équipe francophone de traduction de Debian.

Veuillez signaler toute erreur de traduction en écrivant à <debian−l10n−french [AT] lists.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> ».

COMMENTS

blog comments powered by Disqus