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
|
.\" 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 13:35:59 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Nov 28 17:19:01 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sat Jan 13 12:58:08 MET 1996 by Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
.\"
.\" Traduction 12/10/1996 Christophe BLAESS (ccb@club-internet.fr)
.\" Mise a Jour 15/04/97
.TH WRITE 2 "15 Avril 1997" Linux "Manuel du programmeur Linux"
.SH NOM
write \- Ecrire dans un descripteur de fichier.
.SH SYNOPSIS
.B #include <unistd.h>
.sp
.BI "ssize_t write(int " fd ", const char *" buf ", size_t " count );
.SH DESCRIPTION
.B write
ecrit jusqu'a
.I count
octets dans le fichier associe au descripteur
.I fd
depuis le buffer pointe par
.I buf.
POSIX reclame qu'une lecture avec \fBread()\fP effectuee apres le
retour d'une ecriture avec \fBwrite()\fP, renvoie les nouvelles
donnees. Notez que tous les systemes de fichiers ne sont pas
compatibles avec POSIX.
.SH "VALEUR RENVOYEE"
.B read
renvoie le nombre d'octets ecrits (0 signifiant aucune ecriture),
ou \-1 en cas d'echec,
auquel cas
.I errno
contient le code d'erreur.
Si \fIcount\fP vaut zero, et si le descripteur est associe a un
fichier normal, 0 sera renvoye sans effets de bord. Pour un
fichier special, les resultats ne sont pas portables.
.SH ERREURS
.IP \fBEBADF\fP
.I fd
n'est pas un descripteur de fichier valide, ou n'est pas ouvert
en ecriture.
.IP \fBEINVAL\fP
.I fd
correspond a un objet ne permettant pas l'ecriture.
.IP \fBEFAULT\fP
.I buf
pointe en dehors de l'espace d'adresse accessible.
.IP \fBEPIPE\fP
.I fd
est connecte a un tube (pipe) ou une socket dont l'autre extremite est
fermee. Quand ceci se produit, le processus ecrivain recoit un signal
.B SIGPIPE .
Si il intercepte, bloque ou ignore ce signal,
.B EPIPE
est renvoye.
.IP \fBEAGAIN\fP
L'ecriture est non\-bloquante (attribut
.B O_NONBLOCK
du descripteur), et il n'y a plus de place dans le tube ou la
socket correspondant a
.I fd
pour y ecrire immediatement.
.IP \fBEINTR\fP
L'appel systeme a ete interrompu par un signal avant d'avoir pu ecrire
quoique ce soit.
.IP \fBENOSPC\fP
Le peripherique correspondant a
.I fd
n'a plus de place disponible.
.IP \fBEIO\fP
Une erreur d'entree/sortie bas niveau s'est produite durant la modification
de l'i-noeud.
.PP
D'autres erreurs peuvent se produire suivant le type d'objet associe a
.IR fd .
.SH "CONFORMITE"
SVID, AT&T, POSIX, X/OPEN, BSD 4.3
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 mentionne des conditions d'erreur
supplementaires EDEADLK, EFBIG, ENOLCK, ENOLNK, ENOSR, ENXIO, EPIPE, et ERANGE.
Sous SVr4, un appel \fBwrite\fP() peut etre interrompu, et renvoyer EINTR a
n'importe quel moment, pas seulement avant l'ecriture des donnees.
.SH "VOIR AUSSI"
.BR open "(2), " read "(2), " fcntl "(2), " close (2),
.BR lseek "(2), "
.BR select "(2), " ioctl "(2), " fwrite (3).
|