Man page - strerror_l(3)

Packages contains this manual

Available languages:

en fr ja de

Manual

strerror

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
strerror_r()
strerror_l()
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
NOTES
VOIR AUSSI
TRADUCTION

NOM

strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l - Obtenir le libellĂ© d’un numĂ©ro d’erreur

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <string.h>

char *strerror(int errnum );
const char *strerrorname_np(int
errnum );
const char *strerrordesc_np(int
errnum );

int strerror_r(int errnum , char buf [. buflen ], size_t buflen );
/* conforme Ă  XSI */

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

char *strerror_l(int errnum , locale_t locale );

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

strerrorname_np (), strerrordesc_np () :
_GNU_SOURCE

strerror_r () :
La version conforme Ă  XSI est fournie si :
(_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE
Sinon la version spécifique à GNU 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 non valable »). Cette chaĂźne ne doit pas ĂȘtre modifiĂ©e par l’application, et le pointeur renvoyĂ© sera invalidĂ© lors d’un appel ultĂ©rieur Ă  strerror () ou strerror_l (), ou si le thread qui a obtenu la chaĂźnes se termine. Aucune autre fonction de bibliothĂšque, y compris perror (3), ne modifie cette chaĂźne.

Comme strerror (), la fonction strerrordesc_np () renvoie un pointeur vers une chaĂźne qui dĂ©crit le code d’erreur passĂ© dans l’argument errnum , avec comme diffĂ©rence que la chaĂźne renvoyĂ©e n’est pas traduite selon la rĂ©gionalisation en cours.

La fonction strerrorname_np () renvoie un pointeur vers une chaĂźne contenant le nom du code d’erreur passĂ© dans l’argument errnum . Par exemple, si EPERM est donnĂ© comme argument, cette fonction renvoie un pointeur vers la chaĂźne « EPERM ». Si 0 est donnĂ© comme argument, cette fonction renvoie un pointeur vers la chaĂźne « 0 ».

strerror_r()

strerror_r () est identique Ă  strerror () mais peut utiliser le tampon buf plutĂŽt que d’en allouer un en interne. 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 le paramĂ©trage de 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_C_SOURCE est dĂ©finie par dĂ©faut avec la valeur 200112L, de telle sorte que la version compatible XSI de strerror_r () soit 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 d’erreur 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 NULL final (« \0 »).

strerror_l()

strerror_l () est semblable Ă  strerror (), mais fait correspondre Ă  errnum un message d’erreur adaptĂ© Ă  la localisation prĂ©cisĂ©e par locale . Le comportement de strerror_l () n’est pas dĂ©fini si la localisation locale est l’objet spĂ©cial de localisation LC_GLOBAL_LOCALE ou si elle n’a pas une valeur valable de localisation.

VALEUR RENVOYÉE

Les fonctions strerror (), strerror_l () et la fonction GNU strerror_r () renvoient la description correspondante au code transmis, ou un message « Unknown error nnn » si le numĂ©ro d’erreur est inconnu.

En cas de succĂšs, strerrorname_np () et strerrordesc_np () renvoient la description correspondante au code transmis. Si errnum est un numĂ©ro d’erreur non valable, elles renvoient NULL.

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Ă©fini pour indiquer l’erreur (avant la glibc 2.13).

POSIX.1-2001 et POSIX.1-2008 exigent qu’un appel rĂ©ussi de strerror () ou strerror_l () laisse errno non modifiĂ©. Remarquez que, puisqu’aucune valeur de retour de fonction n’est rĂ©servĂ©e pour indiquer une 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.

ERREURS

EINVAL

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

ERANGE

Le tampon fourni n’est pas assez grand pour la chaüne de description d’erreur.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3872800-1.png

Avant la glibc 2.32, strerror () n’est pas MT-Safe.

STANDARDS

strerror ()

C11, POSIX.1-2008.

strerror_r ()
strerror_l
()

POSIX.1-2008.

strerrorname_np ()
strerrordesc_np
()

GNU.

POSIX.1-2001 permet Ă  strerror () d’écrire errno si l’appel rencontre une erreur mais ne spĂ©cifie pas quelle valeur devrait ĂȘtre renvoyĂ©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.

HISTORIQUE

strerror ()

POSIX.1-2001, C89.

strerror_r ()

POSIX.1-2001.

strerror_l ()

glibc 2.6. POSIX.1-2008.

strerrorname_np ()
strerrordesc_np
()

glibc 2.32.

NOTES

strerrorname_np () et strerrordesc_np () sont thread-safe et async-signal-safe.

VOIR AUSSI

err (3), errno (3), error (3), perror (3), strsignal (3), locale (7), signal-safety (7)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .