Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       strerror, strerror_r - gibt eine Zeichenkette zurück, die den Fehlercode beschreibt

ÜBERSICHT

       #include <string.h>

       char *strerror(int errnum);

       int strerror_r(int errnum, char *buf, size_t buflen);
                   /* XSI-konform */

       char *strerror_r(int errnum, char *buf, size_t buflen);
                   /* GNU-spezifisch */

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       Die XSI-konforme Version von strerror_r() wird bereitgestellt, falls:
       (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE
       Anderenfalls wird die GNU-spezifische Version bereitgestellt.

BESCHREIBUNG

       Die  Funktion strerror() gibt einen Zeiger auf eine Zeichenkette mit der Beschreibung des Fehlercodes für
       das übergebene Argument errnum zurück. Möglicherweise wertet sie dabei den LC_MESSAGES-Teil der aktuellen
       Locale aus, um die passende Sprache zu wählen. (Falls beispielsweise errnum EINVAL  ist,  dann  wird  die
       zurückgelieferte  Beschreibung »Invalid argument« sein.). Diese Zeichenkette darf nicht von der Anwendung
       verändert werden, wohl aber von einem nachfolgenden Aufruf von strerror(). Diese  Zeichenkette  wird  von
       keiner Bibliotheksfunktion, inklusive perror(3), verändert.

       Die  Funktion strerror_r() ähnelt strerror(), ist aber threadsicher. Diese Funktion ist in zwei Versionen
       verfügbar: eine in POSIX.1-2001 beschriebene XSI-konforme Version (verfügbar seit Glibc 2.3.4,  aber  vor
       Glibc  2.13  nicht  POSIX-konform)  und  eine  GNU-spezifische  Version  (verfügbar  seit Glibc 2.0). Die
       XSI-konforme Version  wird  durch  die  in  der  ÜBERSICHT  angegebenen   Feature-Test-Makroeinstellungen
       bereitgestellt;    anderenfalls    wird    die   GNU-Version   verwendet.   Ohne   explizit   vereinbarte
       Feature-Test-Makros wird (seit Glibc 2.4) standardmäßig _POSIX_SOURCE mit dem Wert 200112L belegt, sodass
       standardmäßig die XSI-Variante von strerror_r() verwendet wird.

       Die XSI-konforme strerror_r() ist für portable Anwendungen vorzuziehen. Sie gibt  die  Fehlerzeichenkette
       im vom Nutzer bereitgestellten Puffer buf der Länge buflen zurück.

       Die  GNU-spezifische strerror_r() gibt einen Zeiger auf eine Zeichenkette zurück, die die Fehlernachricht
       enthält. Dies kann entweder ein Zeiger auf eine Zeichenkette sein, die die  Funktion  in  buf  speichert,
       oder  ein  Zeiger  auf  irgendeine  (unveränderbare  statische) Zeichenkette(wobei dann buf nicht genutzt
       wird). Wenn die Funktion in buf eine Zeichenkette speichert, werden höchstens  buflen  Bytes  gespeichert
       (die  Zeichenkette  kann gekürzt werden, wenn buflen zu klein und errnum unbekannt ist). Die Zeichenkette
       enthält immer ein abschließendes Null-Byte ('\0').

RÜCKGABEWERT

       Die Funktionen strerror() und die GNU-spezifische strerror_r() gibt die  entsprechende  Zeichenkette  mit
       der  Fehlerbeschreibung  zurück  oder  eine  Nachricht  »Unbekannter  Fehler  nnn«, wenn die Fehlernummer
       unbekannt ist.

       POSIX.1-2001 und POSIX.1-2008 verlangen, dass ein erfolgreicher Aufruf von strerror()  errno  unverändert
       belässt.  Sie  merken  an,  dass wegen des nicht definierten Rückgabewerts zur Anzeige eines Fehlers eine
       Anwendung zur Fehlerprüfung vor dem Aufruf errno auf Null setzen und nach dem Aufruf überprüfen sollte.

       Die XSI-konforme Funktion strerror_r() gibt bei  Erfolg  0  zurück.  Im  Fehlerfall  wird  eine  positive
       Fehlernummer  (seit  Glibc  2.13)  oder  -1 zurückgegeben und errno mit einem Wert belegt, der den Fehler
       angibt (Glibc vor Version 2.13).

FEHLER

       EINVAL Der Wert von errnum ist keine gültige Fehlernummer.

       ERANGE Es wurde unzureichender Speicher für die Aufnahme der Fehler-Zeichenkette bereitgestellt.

ATTRIBUTE

   Multithreading (see pthreads(7))
       The strerror()  function is not thread-safe.

       The strerror_r()  function is thread-safe.

KONFORM ZU

       strerror() wird von POSIX.1-2001, C89, C99 spezifiziert. strerror_r() wird von POSIX.1-2001 spezifiziert.

       Die GNU-spezifische Funktion strerror_r() ist eine nicht standardisierte Erweiterung.

       POSIX.1-2001 gestattet strerror() das Setzen von errno wenn der Aufruf einen Fehler  bewirkt,  gibt  aber
       nicht  vor,  welchen  Wert  die  Funktion  im  Fehlerfall  zurückgeben  sollte. Auf einigen Systemen gibt
       strerror() NULL zurück, wenn die Fehlernummer nicht bekannt ist. Auf  anderen  Systemen  gibt  strerror()
       eine  Meldung  etwa  wie  »Fehler  nnn  aufgetreten«  und  setzt  errno auf EINVAL, wenn die Fehlernummer
       unbekannt ist. C99 und POSIX.1-2008 verlangen, dass der Rückgabewert von NULL verschieden ist.

SIEHE AUCH

       err(3), errno(3), error(3), perror(3), strsignal(3)

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>
       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
       <debian-l10n-german@lists.debian.org>.

                                                  21. Juni 2013                                      STRERROR(3)