pread

Autres langues

Langue: fr

Version: 21 janvier 1999 (mandriva - 01/05/08)

Section: 2 (Appels système)

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 nombre, off_t position);

ssize_t pwrite(int fd, const void *buf, size_t nombre, off_t position);

DESCRIPTION

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.

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 la variable globale 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 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)

TRADUCTION

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 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 pread ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.