write

WRITE(2)                         Systemaufrufe                        WRITE(2)



BEZEICHNUNG
       write - in eine Datei schreiben

ÃBERSICHT
       #include <unistd.h>

       ssize_t write(int fd, const char *buf, size_t count);

BESCHREIBUNG
       write versucht count Bytes vom Puffer, auf den buf zeigt, in die zu fd
       gehörende Datei zu schreiben.  POSIX fordert, daà ein nachweisbar nach
       der Rückkehr von write() liegendes read() die neuen Daten liefern muÃ.
       Es sollte jedoch beachtet werden, daà nicht alle Dateisysteme POSIX
       konform sind.

RÃCKGABEWERT
       Bei Erfolg wird die Anzahl von geschriebenen Bytes zurückgegeben (null
       heiÃt, daà nichts geschrieben wurde).  Im Fehlerfalle wird -1
       zurückgegeben und errno wird entsprechend gesetzt.  Wenn count 0 ist,
       dann wird 0 zurückgegeben und sonst geschieht nichts.  Bei anderen
       Dateien sind die Ergebnisse nicht portabel.

FEHLER
       EBADF  fd ist keine gültige Dateikennzahl oder die Datei wurde nicht
              zum Schreiben geöffnet.

       EINVAL fd gehört zu einer Datei, welche nicht zum Schreiben geeignet
              ist.

       EFAULT buf ist auÃerhalb Deines ansprechbaren Adressraumes.

       EPIPE  fd ist mit einer pipe oder einem socket verbunden, deren
              lesendes Ende geschlossen ist.  In diesem Falle empfängt der
              schreibende Prozess ein SIGPIPE Signal.  Wird dieses abgefangen,
              blockiert oder ignoriert, wird EPIPE zurückgegeben.

       EAGAIN Mit O_NONBLOCK wurde nicht-blockierende Ein-/Ausgabe gewählt,
              aber in der mit fd verbundenen pipe oder dem Socket war kein
              Platz mehr, um die Daten sofort zu schreiben.

       EINTR  Der Aufruf wurde durch ein Signal unterbrochen, bevor Daten
              geschrieben werden konnten.

       ENOSPC Das Gerät, welches die Datei enthält, welche durch fd
              referenziert ist, hat keinen Platz für die Daten.

       Abhängig vom Objekt, welches mit fd verbunden ist, können auch andere
       Fehler auftreten.

KONFORM ZU
       SVID, AT&T, POSIX, X/OPEN, BSD 4.3

SIEHE AUCH
       open(2), read(2), fcntl(2), close(2), lseek(2), select(2), ioctl(2),
       fwrite(3).







Linux                          13. Januar, 1996                       WRITE(2)