perror(3) Library Functions Manual perror(3) BEZEICHNUNG perror - eine Systemfehlermeldung ausgeben BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include void perror(const char *s); #include 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 alter: _BSD_SOURCE BESCHREIBUNG Die Funktion perror() schreibt eine Meldung auf die Standardfehlerausgabe, die den zuletzt aufgetretenen Fehler beschreibt, der wahrend 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 nutzlichsten zu sein, sollte die Argumentenzeichenkette den Namen der Funktion enthalten, die den Fehler ausloste. Die globale Fehlerliste sys_errlist[], die mit errno indiziert werden kann, kann verwandt werden, um die Fehlermeldungen ohne den Zeilenumbruch zu erhalten. Der grosste gultige Index fur sys_errlist[] ist sys_nerr-1. Vorsicht ist geboten, wenn direkt auf diese Liste zugegriffen wird, denn neue Fehlerwerte sind eventuell noch nicht hinzugefugt worden. Die Verwendung von sys_errlist[] ist heutzutage missbilligt, verwenden Sie stattdessen strerror(3). Wenn ein Systemaufruf fehlschlagt, gibt er normalerweise -1 zuruck und setzt die Variable errno auf einen Wert, der beschreibt, was falsch lief. (Diese Werte konnen in gefunden werden.) Viele Bibliotheksfunktionen verhalten sich genauso. Die Funktion perror() ubersetzt diesen Fehlercode in eine fur Menschen lesbare Form. Beachten Sie, dass errno nach erfolgreichem System- oder Bibliotheksfunktionsaufruf undefiniert ist: Dieser Aufruf kann die Variable aber sehr wohl andern, 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) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------+-------------------------+-----------------------+ |Schnittstelle | Attribut | Wert | +--------------------+-------------------------+-----------------------+ |perror() | Multithread-Fahigkeit | MT-Sicher race:stderr | +--------------------+-------------------------+-----------------------+ STANDARDS errno perror() C11, POSIX.1-2008. sys_nerr sys_errlist BSD. GESCHICHTE errno perror() POSIX.1-2001, C89, 4.3BSD. sys_nerr sys_errlist Wurde in Glibc 2.32 entfernt. SIEHE AUCH err(3), errno(3), error(3), strerror(3) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Schulze , Patrick Rother , Chris Leick und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 perror(3)