STRERROR
Section: Manuel du programmeur Linux (3) Updated: 21 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION
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
TRADUCTION
Christophe Blaess, 1996-2003.
|