Provided by:
manpages-de-dev_0.4-9_all 
BEZEICHNUNG
read - von einer Datei lesen
SYNOPSIS
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
BESCHREIBUNG
read versucht aus der fd zugeordneten Datei count Bytes in den Puffer,
auf den buf zeigt, 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 gelesenen Bytes zurückgegeben. Dies
können weniger als count Bytes sein, falls in einer regulären Datei ab
der aktuellen Position nur noch weniger Bytes vorhanden sind, read()
durch ein Signal unterbrochen wurde oder falls von einer nicht-
regulären Datei ohne Verzögerung nicht mehr Bytes gelesen werden
können. Im Fehlerfalle wird -1 zurückgegeben und errno wird
entsprechend gesetzt.
FEHLER
EINTR Der Aufruf wurde durch ein Signal unterbrochen bevor Daten
gelesen wurden.
EAGAIN Mit O_NONBLOCK wurde nicht-blockierende Ein-/Ausgabe gewählt und
es lagen keine Daten zum sofortigen Lesen an.
EISDIR fd referenziert ein Verzeichnis.
EBADF fd Ist keine gültige Dateikennzahl oder wurde nicht zum Lesen
geöffnet.
EINVAL fd gehört zu einer Datei, welche nicht zum Lesen geeignet ist.
EFAULT buf ist außerhalb Deines ansprechbaren Adressraumes.
Abhängig vom Objekt, welches mit fd verbunden ist, können auch andere
Fehler auftreten. POSIX spezifiziert nicht die Position in der Datei,
nachdem ein Fehlers auftrat. Falls read() bereits einige Bytes gelesen
hat und dann ein Signal auftritt, so ist nicht spezifiziert, ob es erst
mit der Anzahl der Bytes oder mit -1 zurückkehrt.
KONFORM ZU
SVID, AT&T, POSIX, X/OPEN, BSD 4.3
SIEHE AUCH
readdir(2), write(2), write(2), fcntl(2), close(2), lseek(2),
select(2), readlink(2), ioctl(2), fread(3).