Provided by:
manpages-de-dev_0.5-2ubuntu1_all 
BEZEICHNUNG
perror - gib eine Systemfehlermeldung aus
BEZEICHNUNG
#include <stdio.h>
void perror(const char *s);
#include <errno.h>
const char *sys_errlist[];
int sys_nerr ;
BESCHREIBUNG
Die Funktion perror() erzeugt eine Meldung auf der
Standardfehlerausgabe, die den zuletzt aufgetretenen Fehler beschreibt,
der während eines Systemaufrufs oder einer Bibliotheksfunktion
aufgetreten ist. Der Argumentstring s wird zuerst ausgegeben, danach
ein Doppelpunkt und ein Leerzeichen und danach die Meldung mit einem
Zeilenvorschub. Um eine maximale Nützlichkeit zu erreichen sollte der
Argumentstring den Namen der Funktion enthalten, in dem der Fehler
aufgetreten ist. Die Fehlernummer wird aus der externen Variable errno
entnommen, die gesetzt wird wenn ein Fehler auftritt, aber nicht
gelöscht wird, wenn Aufrufe getätigt werden, die keinen Fehler liefern.
Die globale Fehlerliste sys_errlist[] mit Index errno kann verwendet
werden, um die Fehlermeldungen ohne den Zeilenumbruch zu erhalten. Der
größte gültige Index für sys_errlist[] ist sys_nerr -1. Vorsicht ist
geboten, wenn direkt auf diese Liste zugegriffen wird, denn neue
Fehlerwerte sind eventuell noch nicht hinzugefügt worden.
Wenn ein Systemaufruf fehlschlägt, gibt er normalerweise -1 zurück und
setzt die Variable errno auf einen Wert, der beschreibt, was schief
lief. (Diese Werte können in <errno.h> gefunden werden.) Viele
Bibliotheksfunktionen verhalten sich genauso. Die Funktion perror()
übersetzt diesen Fehlercode in eine für Menschen lesbare Form. Man
beachte, dass errno nach erfolgreichem Aufruf einer Bibliotheksfunktion
undefiniert ist: Der Aufruf kann die Variable aber sehrwohl verändern,
auch wenn er erfolgreich ist, zum Beispiel, wenn die Routine intern
weitere Bibliotheksfunktionen verwendet, die fehlgeschlagen sind.
Daher sollte der Wert von errno gesichert werden, wenn auf den
fehlgeschlagenen Aufruf nicht sofort ein Aufruf von perror() folgt.
KONFORM ZU
ANSI C, POSIX
SIEHE AUCH
errno(2), strerror(3).
17. Januar 1996 PERROR(3)