Linux |
CentOS 5.3 |
|
pread(2) |
pread, pwrite − Lire ou écrire à une position donnée d’un descripteur de fichier. |
#define _XOPEN_SOURCE 500 #include <unistd.h> ssize_t pread(int fd, void *buf, size_t nombre, off_t position); ssize_t pwrite(int fd, const void *buf, size_t nombre, off_t position); |
pread() lit au maximum le nombre indiqué d’octets depuis le descripteur fd, à la position 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 le nombre indiqué d’octets dans la zone mémoire pointée par buf, et les écrit à la position (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. |
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 la variable globale errno en conséquence. |
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). |
POSIX.1-2001. |
Les appels systèmes 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 sur les anciens noyaux sans ces appels système, fut ajouté dans la glibc 2.1. |
lseek(2), read(2), write(2) |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 12 novembre 1999 et révisée le 14 août 2006. 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 pread ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
pread(2) |