Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       perror - eine Systemfehlermeldung ausgeben

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <stdio.h>

       void perror(const char *s);

       #include <errno.h>

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

       [[veraltet]] const char *const sys_errlist[];
       [[veraltet]] int sys_nerr;

   Mit Glibc erforderliche Feature-Test-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 Nullbyte (»\0\[u00AB])  ist)  die  Argumentenzeichenkette  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 │
       └─────────────────────────────────────────────────────────┴───────────────────────┴─────────────────────┘

STANDARDS

       perror(), errno: POSIX.1-2001, POSIX.1-2008, 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)

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Patrick Ro‐
       ther  <krd@gulu.net>,  Chris  Leick   <c.leick@vollbio.de>   und   Mario   Blättermann   <mario.blaetter‐
       mann@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.

Linux man-pages 6.03                             5. Februar 2023                                       perror(3)