Loading

NOM

       strerror, strerror_r - Obtenir le libellé d’un numéro d’erreur

SYNOPSIS

       #include <string.h>

       char *strerror(int errnum);

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

       char *strerror_r(int errnum, char *buf, size_t buflen);
                   /* spécifique GNU */

   Exigences  de  macros  de  test  de  fonctionnalités  pour  la  glibc (voir
   feature_test_macros(7)) :

       La version compatible XSI de strerror_r() est fournie si :
       (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE
       Autrement, c’est la version GNU qui est fournie.

       La fonction strerror() renvoie un pointeur vers une chaîne  qui  décrit
       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(3)   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  multithread.  Cette fonction est
       disponible en deux versions : une version conforme XSI  spécifiée  dans
       POSIX.1-2001   (disponible  depuis  la  glibc  2.3.4)  et  une  version
       spécifique GNU (disponible depuis la glibc 2.0). La version  compatible
       XSI  est fournie par la macro de test mentionnée dans le SYNOPSIS  sino
       la version spécifique GNU est fournie. Si aucune macro  de  test  n’est
       définie  explicitement,  alors  (depuis la glibc 2.4) _POSIX_SOURCE est
       définie par défaut avec la  valeur  200112L,  de  telle  sorte  que  la
       version compatible XSI de strerror_r() est fournie par défaut.

       La   version  de  strerror_r()  conforme  XSI  est  préférée  pour  les
       applications portables. Elle renvoie la chaîne dans le  tampon  buf  de
       longueur buflen fourni par l’appelant.

       La  version  de strerror_r() spécifique GNU renvoie un pointeur sur une
       chaîne contenant le message d’erreur. Cela peut être soit  un  pointeur
       vers  une chaîne que la fonction stocke dans buf, soit un pointeur vers
       une chaîne statique (immuable) (auquel cas buf n’est pas  utilisé).  Si
       la  fonction  stocke  une  chaîne  dans buf, au plus buflen octets sont
       stockés (la chaîne peut être tronquée si buflen est trop petit)  et  la
       chaîne inclut toujours l’octet nul de terminaison.

VALEUR RENVOYÉE

       La  fonction  strerror()  et  la fonction GNU strerror_r() renvoient la
       description correspondant au code transmis,  ou  un  message  « Unknown
       error nnn » si le numéro d’erreur n’existe pas.

       La  fonction  strerror_r() conforme XSI renvoie 0 si elle réussit et -1
       si elle échoue et écrit errno pour indiquer l’erreur.

ERREURS

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

       ERANGE Le tampon fourni n’est pas assez grand.

CONFORMITÉ

       strerror() est spécifiée par POSIX.1-2001, C89 et C99. strerror_r() est
       spécifiée par POSIX.1-2001.

       La  fonction  strerror_r()  spécifique  GNU  n’est  pas  une  extension
       standard.

       POSIX.1-2001 permet à strerror() d’écrire errno  si  l’appel  rencontre
       une  erreur  mais  ne spécifie pas quelle valeur devrait être retournée
       comme  résultat  de  fonction  dans  l’éventualité  d’une  erreur.  Sur
       certains  systèmes,  strerror()  renvoie NULL si le numéro d’erreur est
       inconnu. Sur d’autres, strerror() renvoie une chaîne du  style  « Error
       nnn  occurred »  et  écrit  EINVAL dans errno si le numéro d’erreur est
       inconnu.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».

                                 30 mars 2009                      STRERROR(3)