Votre IP: 38.107.179.243 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]


READ

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. CONFORMITÉ
  7. RESTRICTIONS
  8. VOIR AUSSI
  9. TRADUCTION

 

NOMIndex

read - Lire depuis un descripteur de fichier  

SYNOPSISIndex

#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);
 

DESCRIPTIONIndex

read() lit jusqu'à count octets depuis le descripteur de fichier fd dans le tampon pointé par buf.
Si count vaut zéro, read() renvoie zéro et n'a pas d'autres effets. Si count est supérieur à SSIZE_MAX, le résultat est indéfini.
 

VALEUR RENVOYÉEIndex

read() renvoie -1 s'il échoue, auquel cas errno contient le code d'erreur, et la position de la tête de lecture est indéfinie. Sinon, read renvoie le nombre d'octets lus (0 en fin de fichier), et avance la tête de lecture de ce nombre. Le fait que le nombre renvoyé soit plus petit que le nombre demandé n'est pas une erreur. Ceci se produit à la fin du fichier, ou si on lit depuis un tube ou un terminal, ou encore si read() a été interrompu par un signal.  

ERREURSIndex

EAGAIN
On utilise une lecture non bloquante (attribut O_NONBLOCK du descripteur de fichier) et aucune donnée n'était disponible.
EBADF
fd n'est pas un descripteur de fichier valide ou n'est pas ouvert en lecture.
EFAULT
buf pointe en dehors de l'espace d'adressage accessible.
EINTR
read() a été interrompu par un signal avant d'avoir eu le temps de lire quoi que ce soit.
EINVAL
Le descripteur fd correspond à un objet sur lequel il est impossible de lire. Ou bien le fichier a été ouvert avec le drapeau O_DIRECT, et l'adresse de buf, la valeur de count ou la position actuelle de la tête de lecture ne sont pas alignées correctement.
EIO
Erreur d'entrée-sortie. Ceci arrive si un processus est dans un groupe en arrière-plan et tente de lire depuis le terminal. Il reçoit un signal SIGTTIN mais il l'ignore ou le bloque. Ceci se produit également si une erreur d'entrée-sortie bas-niveau s'est produite pendant la lecture d'un disque ou d'une bande.
EISDIR
fd est un répertoire.

D'autres erreurs peuvent se produire, suivant le type d'objet associé à fd. POSIX permet à un read() interrompu par un signal de renvoyer soit le nombre d'octets lus à ce point, soit -1, et de placer errno à EINTR.  

CONFORMITÉIndex

SVr4, BSD 4.3, POSIX.1-2001.  

RESTRICTIONSIndex

Sur un système de fichiers NFS, la lecture de petites quantités de données ne mettra à jour l'horodatage du fichier que lors de la première lecture. Les lectures suivantes ne modifieront pas cette heure. En effet la plupart, si ce n'est tous les clients NFS disposent d'un cache des attributs de fichiers et n'effectuent pas la mise à jour du champ « st_atime » du côté serveur. La véritable sémantique UNIX peut être obtenue en désactivant le cache des attributs du côté client, mais généralement ceci augmente sensiblement la charge du serveur, et dégrade ses performances.
Beaucoup de disques et systèmes de fichiers ont été considérés comme suffisamment rapides pour que l'implémentation de O_NONBLOCK soit jugée inutile. Ainsi cet attribut peut ne pas être disponible sur les fichiers et/ou les disques.  

VOIR AUSSIIndex

close(2), fcntl(2), ioctl(2), lseek(2), open(2), pread(2), readdir(2), readlink(2), readv(2), select(2), write(2), fread(3)  

TRADUCTIONIndex

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.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS