1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
.\" 1993 Michael Haardt, Ian Jackson.
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" Modified Sat Jul 24 00:06:00 1993 by Rik Faith (faith@cs.unc.edu)
.\"
.\" Traduction 12/10/1996 Christophe BLAESS (ccb@club-internet.fr)
.\" Mise a Jour 08/04/97
.\" Mise a Jour 19/07/97
.TH READ 2 "19 Juillet 1997" Linux "Manuel du programmeur Linux"
.SH NOM
read \- Lire le contenu d'un fichier.
.SH SYNOPSIS
.nf
.B #include <sys/types.h>
.B #include <unistd.h>
.sp
.BI "ssize_t read(int " fd ", void *" buf ", size_t " count );
.fi
.SH DESCRIPTION
.B read
lit jusqu'
.I count
octets depuis le descripteur de fichier
.I fd
dans le buffer point par
.I buf.
Si
.I count
vaut zro,
.B read
renvoie zro et n'a pas d'autres effets.
Si
.I count
est suprieur SSIZE_MAX, le rsultat est indfini.
.SH "VALEUR RENVOYE"
.B read
renvoie \-1 s'il choue, auquel cas
.I errno
contient le code d'erreur, et la position de la tte
de lecture est indfinie.
Sinon,
.B read
renvoie le nombre d'octets lus (0 en fin de fichier), et avance la
tte 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
.B read
a t interrompu par un signal.
.SH ERREURS
.TP 0.8i
.B EINTR
.B read
a t interrompu par un signal avant d'avoir eu le temps de lire quoi que ce soit.
.TP
.B EAGAIN
On utilise une lecture non bloquante (attribut
.B O_NONBLOCK
du descripteur de fichier) et aucune donne n'tait disponible.
.TP
.B EIO
Erreur d'entre/sortie. Ceci arrive si un processus est dans un groupe
en arrire\-plan et tente de lire depuis le terminal. Il reoit
un signal
SIGTTIN mais il l'ignore ou le bloque. Ceci se produit galement si une
erreur d'entre/sortie bas-niveau s'est produite pendant la lecture d'un
disque ou d'une bande.
.TP
.B EISDIR
.I fd
est un rpertoire.
.TP
.B EBADF
.I fd
n'est pas un descripteur valide, ou n'est pas ouvert en lecture.
.TP
.B EINVAL
.I fd
corrrespond un objet ne permettant pas la lecture.
.TP
.B EFAULT
.I buf
pointe en dehors de l'espace d'adressage accessible.
.PP
D'autres erreurs peuvent se produire, suivant le type d'objet associ
.IR fd .
POSIX permet un
.B read
interrompu par un signal de renvoyer soit le nombre d'octets lus ce point,
soit \-1, et de placer
.I errno
.BR EINTR .
.SH "CONFORMIT"
SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3
.SH RESTRICTIONS
Sur un systme de fichiers NFS, la lecture de petites quantits de donnes
ne mettra jour l'horodatage du fichier que lors de la premire 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 'atime' du ct serveur.
La vritable smantique UNIX peut tre obtenue en dsactivant le cache des
attributs du ct client, mais gnralement ceci augmente sensiblement
la charge du serveur, et dgrade ses performances.
.SH "VOIR AUSSI"
.BR readdir "(2), " write "(2), " write "(2), " fcntl "(2), " close "(2), "
.BR lseek "(2), "
.BR select "(2), " readlink "(2), " ioctl "(2), " fread (3).
.SH TRADUCTION
Christophe Blaess, 1997.
|