Available in

(1) (2) (3) (9) (1)/cs (1)/de (2)/de (1)/es (2)/es (1)/fi (2)/fr (1)/hu (2)/it (1)/ja (2)/ja (1)/ko (2)/ko (2)/nl (1)/pl (2)/pl (2)/ru (2)/zh_cn (2)/zh_tw

Contents

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, dass ein nachweisbar nach der Rückkehr von write() liegendes read() die neuen Daten liefern muss. Es sollte jedoch beachtet werden, dass nicht alle Dateisysteme POSIX konform sind.

RÜCKGABEWERT

Bei Erfolg wird die Anzahl von geschriebenen Bytes zurückgegeben (null heißt, dass 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).

COMMENTS

blog comments powered by Disqus