Provided by: manpages-de-dev_2.5-1_all 

BEZEICHNUNG
perror - eine Systemfehlermeldung ausgeben
ÜBERSICHT
#include <stdio.h>
void perror(const char *s);
#include <errno.h>
const char * const sys_errlist[];
int sys_nerr;
int errno; /* Nicht wirklich auf diese Weise deklariert; siehe errno(3). */
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
sys_errlist, sys_nerr:
Seit Glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 und älter:
_BSD_SOURCE
BESCHREIBUNG
Die Funktion perror() schreibt eine Meldung auf die Standardfehlerausgabe, die den zuletzt aufgetretenen
Fehler beschreibt, der während eines Aufrufs einer System- oder Bibliotheksfunktion aufgetreten ist.
Zuerst wird (falls s nicht NULL und *s kein Null-Byte ('\0') ist) der Argumentstring s, danach ein
Doppelpunkt, ein Leerzeichen und dann die eine Fehlermeldung, die dem aktuellen Wert von errno
entspricht, gefolgt von einem Zeilenvorschub ausgegeben.
Um am nützlichsten zu sein, sollte die Argumentenzeichenkette den Namen der Funktion enthalten, die den
Fehler auslöste.
Die globale Fehlerliste sys_errlist[], die mit errno indiziert werden kann, kann verwandt 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. Die Verwendung von sys_errlist[] ist heutzutage
missbilligt, verwenden Sie stattdessen strerror(3).
Wenn ein Systemaufruf fehlschlägt, gibt er normalerweise -1 zurück und setzt die Variable errno auf einen
Wert, der beschreibt, was falsch 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. Beachten Sie, dass errno nach erfolgreichem System- oder
Bibliotheksfunktionsaufruf undefiniert ist: Dieser Aufruf kann die Variable aber sehr wohl ändern, auch
wenn er erfolgreich ist – zum Beispiel, wenn er intern weitere Bibliotheksfunktionen verwendet, die
fehlschlagen. Daher sollte der Wert von errno gespeichert werden, wenn auf den fehlgeschlagenen Aufruf
nicht sofort ein Aufruf von perror() folgt.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌───────────────┬───────────────────────┬─────────────────────┐
│ Schnittstelle │ Attribut │ Wert │
├───────────────┼───────────────────────┼─────────────────────┤
│ perror() │ Multithread-Fähigkeit │ MT-Safe race:stderr │
└───────────────┴───────────────────────┴─────────────────────┘
KONFORM ZU
perror(), errno: POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.
Die externen sys_nerr und sys_errlist leiten sich aus BSD ab, werden aber nicht in POSIX.1 spezifiziert.
ANMERKUNGEN
Die externen sys_nerr und sys_errlist sind durch Glibc definiert, befinden sich aber in <stdio.h>.
SIEHE AUCH
err(3), errno(3), error(3), strerror(3)
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.15 des Projekts Linux-man-pages. Eine Beschreibung des
Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net>, Martin Schulze
<joey@infodrom.org>, Chris Leick <c.leick@vollbio.de> und Mario Blättermann
<mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an
<debian-l10n-german@lists.debian.org>.
15. September 2017 PERROR(3)