Provided by: manpages-de-dev_4.13-4_all bug

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:
           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 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.

VERSIONEN

       Seit  Glibc  Version  2.32  befinden  sich  die  Definitionen  von sys_nerr und sys_errlist nicht mehr in
       <stdio.h>.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌───────────────┬───────────────────────┬─────────────────────┐
       │ SchnittstelleAttributWert                │
       ├───────────────┼───────────────────────┼─────────────────────┤
       │ 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  5.10  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 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 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.

                                                1. November 2020                                       PERROR(3)