Provided by: manpages-fr_1.67.0-1_all bug

NOM

       strerror, strerror_r - Obtenir le libellé d’un code d’erreur.

SYNOPSIS

       #include <string.h>

       char *strerror (int errnum);
       int strerror_r(int errnum, char *buf, size_t n);

DESCRIPTION

       La  fonction  strerrror() renvoie une chaîne décrivant le code d’erreur
       passé en argument errnum,  en  utilisant  éventuellement  la  catégorie
       LC_MESSAGES  de la localisation pour sélectionner la langue appropriée.
       Cette chaîne ne doit pas être modifiée  par  l’application,  mais  peut
       être  écrasée  par un appel ultérieur à perror() ou strerror().  Aucune
       autre fonction de bibliothèque ne modifie cette chaîne.

       La fonction strerror_r() est identique  à  strerror()  mais  fonctionne
       correctement  dans  un environnement multi-threads, puisqu’elle renvoie
       la chaîne dans le buffer buf de longueur n fourni par l’appelant.

VALEUR RENVOYÉE

       La fonction strerror() renvoie la  description  correspondant  au  code
       transmis,  ou un message d’erreur inconnue si le code n’existe pas.  La
       valeur de errno  n’est  pas  modifiée  lors  des  appels  réussi,  mais
       contient une valeur non-nulle en cas d’erreur.

       La  fonction  strerror_r()  renvoie  0  si elle réussit et -1 sinon, en
       remplissant errno.

ERREURS

       EINVAL La valeur de errnum n’est pas un code d’erreur valide.

       ERANGE Le buffer fourni n’est pas assez grand.

CONFORMITÉ

       SVID 3, POSIX, BSD 4.3, ISO/IEC 9899:1990 (C89).

       La  fonction  strerror_r()  avec  le  prototype  décrit  ci-dessus  est
       spécifiée  par  SUSv3,  et était utilisée sous Digital Unix et HP Unix.
       Une fonction incompatible, avec le prototype

       char *strerror_r(int errnum, char *buf, size_t n);

       était une extension GNU utilisée par la GlibC, et doit être  considérée
       comme  obsolète  en  regard  de SUS v3.  La version GNU pouvait, sans y
       être obligée, utiliser le buffer fourni par l’utilisateur. Si  elle  le
       faisait,  le  résultat  pouvait  être  tronqué  si le buffer était trop
       petit. Le résultat était toujours terminé par un NUL.

VOIR AUSSI

       errno(3), perror(3), strsignal(3)

TRADUCTION

       Christophe Blaess, 1996-2003.