perror(3)

BEZEICHNUNG
perror - eine Systemfehlermeldung ausgeben

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <stdio.h>

void perror(const char *z);

#include <errno.h>

int fehlern;  /* Nicht wirklich auf diese Weise deklariert; siehe errno(3). */

[[veraltet]] const char *const sys_fehllist[];
[[veraltet]] int sys_fehlanz;

    Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

sys_fehllist, sys_fehlanz:
    Von Glibc 2.19 bis 2.31:
        _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 z nicht NULL und *s kein Nullbyte (»\0«) ist) die Argumentenzeichenkette z, danach ein Doppelpunkt, ein Leerzeichen und dann die eine Fehlermeldung, die dem aktuellen Wert von fehlern 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_fehllist[], die mit fehlern indiziert werden kann, kann verwandt werden, um die Fehlermeldungen ohne den Zeilenumbruch zu erhalten. Der größte gültige Index für sys_fehllist[] ist sys_fehlanz-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_fehllist[] ist heutzutage missbilligt, verwenden Sie stattdessen strerror(3).

Wenn ein Systemaufruf fehlschlägt, gibt er normalerweise -1 zurück und setzt die Variable fehlern 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 fehlern 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 fehlern 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-Sicher race:stderr

STANDARDS

fehlern
perror()
    C11, POSIX.1-2008.

sys_fehlanz
sys_fehllist
    BSD.

GESCHICHTE

fehlern
perror()
    POSIX.1-2001, C89, 4.3BSD.

sys_fehlanz
sys_fehllist
    Wurde in Glibc 2.32 entfernt.

SIEHE AUCH
err(3), errno(3), error(3), strerror(3)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Patrick Rother <krd@gulu.net>, 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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 die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).