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