Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
strerror, strerror_r - Obtenir le libelle d'un numero 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);
/* specifique GNU */
Exigences de macros de test de fonctionnalites 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 chaine qui decrit
le code d'erreur passe en argument errnum, en utilisant eventuellement
la categorie LC_MESSAGES de la localisation pour selectionner la langue
appropriee. Cette chaine ne doit pas etre modifiee par l'application,
mais peut etre ecrasee par un appel ulterieur a perror(3) ou
strerror(). Aucune autre fonction de bibliotheque ne modifie cette
chaine.
La fonction strerror_r() est identique a strerror() mais fonctionne
correctement dans un environnement multithread. Cette fonction est
disponible en deux versions : une version conforme XSI specifiee dans
POSIX.1-2001 (disponible depuis la glibc 2.3.4) et une version
specifique GNU (disponible depuis la glibc 2.0). La version compatible
XSI est fournie par la macro de test mentionnee dans le SYNOPSIS sino
la version specifique GNU est fournie. Si aucune macro de test n'est
definie explicitement, alors (depuis la glibc 2.4) _POSIX_SOURCE est
definie par defaut avec la valeur 200112L, de telle sorte que la
version compatible XSI de strerror_r() est fournie par defaut.
La version de strerror_r() conforme XSI est preferee pour les
applications portables. Elle renvoie la chaine dans le tampon buf de
longueur buflen fourni par l'appelant.
La version de strerror_r() specifique GNU renvoie un pointeur sur une
chaine contenant le message d'erreur. Cela peut etre soit un pointeur
vers une chaine que la fonction stocke dans buf, soit un pointeur vers
une chaine statique (immuable) (auquel cas buf n'est pas utilise). Si
la fonction stocke une chaine dans buf, au plus buflen octets sont
stockes (la chaine peut etre tronquee si buflen est trop petit) et la
chaine inclut toujours l'octet nul de terminaison.
VALEUR RENVOY'EE
La fonction strerror() et la fonction GNU strerror_r() renvoient la
description correspondant au code transmis, ou un message << Unknown
error nnn >> si le numero d'erreur n'existe pas.
La fonction strerror_r() conforme XSI renvoie 0 si elle reussit et -1
si elle echoue et ecrit 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'E
strerror() est specifiee par POSIX.1-2001, C89 et C99. strerror_r() est
specifiee par POSIX.1-2001.
La fonction strerror_r() specifique GNU n'est pas une extension
standard.
POSIX.1-2001 permet a strerror() d'ecrire errno si l'appel rencontre
une erreur mais ne specifie pas quelle valeur devrait etre retournee
comme resultat de fonction dans l'eventualite d'une erreur. Sur
certains systemes, strerror() renvoie NULL si le numero d'erreur est
inconnu. Sur d'autres, strerror() renvoie une chaine du style << Error
nnn occurred >> et ecrit EINVAL dans errno si le numero 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.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Nicolas
Francois et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
30 mars 2009 STRERROR(3)