Provided by: manpages-fr-dev_3.57d1p1-1_all bug

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 (consultez 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.

DESCRIPTION

       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  (par  exemple,  si  errnum  est  EINVAL,  la  description  renvoyée  sera  « Argument
       invalide »). Cette chaîne ne doit pas être modifiée par l'application, mais  peut  être  écrasée  par  un
       appel  ultérieur  à  strerror().  Aucune  autre fonction de bibliothèque, y compris perror(3), 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, mais non compatible POSIX avant  la  glibc 2.13)  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, sinon 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 qu'errnum est inconnu). La chaîne inclut toujours l'octet nul final (« \0 »).

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.

       POSIX.1-2001 et POSIX.1-2008 exigent qu'un appel réussi de strerror() laisse errno non modifié. Remarquez
       que,  puisqu'aucune  valeur  de retour de fonction n'est réservée pour indiquer d'erreur, une application
       qui désire vérifier les erreurs devrait initialiser errno à zéro avant l'appel, et vérifier  errno  après
       l'appel.

       La  fonction  strerror_r()  conforme  XSI renvoie 0 si elle réussit. En cas d'erreur, un numéro (positif)
       d'erreur est renvoyé (depuis la glibc 2.13), ou -1  est  renvoyé  et  errno  est  définit  pour  indiquer
       l'erreur (pour les version de la glibc antérieures à 2.13).

ERREURS

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

       ERANGE Le tampon fourni n'est pas assez grand.

ATTRIBUTS

   Multithreading (voir pthreads(7))
       La fonction strerror() n'est pas sûre dans un contexte multithread.

       La fonction strerror_r() est sûre dans un contexte multithread.

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. C99 et POSIX.1-2008 exigent que la valeur renvoyée ne soit pas NULL.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 3.57 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

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Nicolas  François  et  l'équipe  francophone de traduction de
       Debian (2006-2009).

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

                                                  21 juin 2013                                       STRERROR(3)