.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright 2005-2020, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH strerror 3 "8 février 2026" "Pages du manuel de Linux 6.17" .SH NOM strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l \- Obtenir le libellé d'un numéro d'erreur .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP,\ \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP .P \fBchar *strerror(int \fP\fIerrnum\fP\fB);\fP \fBconst char *strerrorname_np(int \fP\fIerrnum\fP\fB);\fP \fBconst char *strerrordesc_np(int \fP\fIerrnum\fP\fB);\fP .P \fBint strerror_r(\fPsize_t size; \fB int \fP\fIerrnum\fP\fB, char \fP\fIbuf\fP\fB[\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB);\fP /* XSI\-compliant */ .P \fBchar *strerror_r(\fPsize_t size; \fB int \fP\fIerrnum\fP\fB, char \fP\fIbuf\fP\fB[\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB);\fP /* GNU\-specific */ .P \fBchar *strerror_l(int \fP\fIerrnum\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP .fi .P .RS -4 Exigences de macros de test de fonctionnalités pour la glibc (consulter \fBfeature_test_macros\fP(7)) : .RE .P \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP() : .nf _GNU_SOURCE .fi .P \fBstrerror_r\fP() : .nf La version conforme à XSI est fournie si : (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE Sinon la version spécifique à GNU est fournie. .fi .SH DESCRIPTION La fonction \fBstrerror\fP() renvoie un pointeur vers une chaîne qui décrit le code d'erreur passé en argument \fIerrnum\fP, en utilisant éventuellement la catégorie \fBLC_MESSAGES\fP de la localisation pour sélectionner la langue appropriée (par exemple, si \fIerrnum\fP est \fBEINVAL\fP, 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 à \fBstrerror\fP() ou \fBstrerror_l\fP(), ou si le thread qui a obtenu la chaînes se termine. Aucune autre fonction de bibliothèque, y compris \fBperror\fP(3), ne modifie cette chaîne. .P Comme \fBstrerror\fP(), la fonction \fBstrerrordesc_np\fP() renvoie un pointeur vers une chaîne qui décrit le code d’erreur passé dans l’argument \fIerrnum\fP, avec comme différence que la chaîne renvoyée n’est pas traduite selon la régionalisation en cours. .P .\" La fonction \fBstrerrorname_np\fP() renvoie un pointeur vers une chaîne contenant le nom du code d’erreur passé dans l’argument \fIerrnum\fP. Par exemple, si \fBEPERM\fP est donné comme argument, cette fonction renvoie un pointeur vers la chaîne « EPERM ». Si \fB0\fP est donné comme argument, cette fonction renvoie un pointeur vers la chaîne « 0 ». .SS strerror_r() \fBstrerror_r\fP() est identique à \fBstrerror\fP() mais peut utiliser le tampon \fIbuf\fP 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 \fBSYNOPSIS\fP, sinon la version spécifique à GNU est fournie. Si aucune macro de test n'est définie explicitement, alors (depuis la glibc 2.4) \fB_POSIX_C_SOURCE\fP est définie par défaut avec la valeur 200112L, de telle sorte que la version compatible XSI de \fBstrerror_r\fP() soit fournie par défaut. .P La version de \fBstrerror_r\fP() conforme XSI est préférée pour les applications portables. Elle renvoie la chaîne d’erreur dans le tampon \fIbuf\fP de taille \fIsize\fP fourni par l'appelant. .P .\" La version de \fBstrerror_r\fP() 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 \fIbuf\fP, soit un pointeur vers une chaîne statique (immuable) (auquel cas \fIbuf\fP n'est pas utilisé). Si la fonction stocke une chaîne dans \fIbuf\fP, au plus \fIsize\fP octets sont stockés (la chaîne peut être tronquée si \fIsize\fP est trop petit et qu'\fIerrnum\fP est inconnu). La chaîne inclut toujours l'octet NULL final («\ \[rs]0\ »). .SS strerror_l() \fBstrerror_l\fP() est semblable à \fBstrerror\fP(), mais fait correspondre à \fIerrnum\fP un message d'erreur adapté à la localisation précisée par \fIlocale\fP. Le comportement de \fBstrerror_l\fP() n'est pas défini si la localisation \fIlocale\fP est l'objet spécial de localisation \fBLC_GLOBAL_LOCALE\fP ou si elle n'a pas une valeur valable de localisation. .SH "VALEUR RENVOYÉE" Les fonctions \fBstrerror\fP(), \fBstrerror_l\fP() et la fonction GNU \fBstrerror_r\fP() renvoient la description correspondante au code transmis, ou un message «\ Unknown error nnn\ » si le numéro d'erreur est inconnu. .P En cas de succès, \fBstrerrorname_np\fP() et \fBstrerrordesc_np\fP() renvoient la description correspondante au code transmis. Si \fIerrnum\fP est un numéro d'erreur non valable, elles renvoient NULL. .P La fonction \fBstrerror_r\fP() conforme XSI renvoie \fB0\fP si elle réussit. En cas d'erreur, un numéro (positif) d'erreur est renvoyé (depuis la glibc 2.13), ou \fB\-1\fP est renvoyé et \fIerrno\fP est défini pour indiquer l'erreur (avant la glibc 2.13). .P POSIX.1\-2001 et POSIX.1\-2008 exigent qu'un appel réussi de \fBstrerror\fP() ou \fBstrerror_l\fP() laisse \fIerrno\fP 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 \fIerrno\fP à zéro avant l'appel, et vérifier \fIerrno\fP après l'appel. .SH ERREURS .TP \fBEINVAL\fP La valeur de \fIerrnum\fP n'est pas un code d'erreur valable. .TP \fBERANGE\fP Le tampon fourni n'est pas assez grand pour la chaîne de description d’erreur. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Interface Attribut Valeur T{ .na .nh \fBstrerror\fP() T} Sécurité des threads T{ .na .nh MT\-Safe T} T{ .na .nh \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP() T} Sécurité des threads MT\-Safe T{ .na .nh \fBstrerror_r\fP(), \fBstrerror_l\fP() T} Sécurité des threads MT\-Safe .TE .P Avant la glibc 2.32, \fBstrerror\fP() n'est pas MT\-Safe. .SH NORMES .TP \fBstrerror\fP() C11, POSIX.1\-2008. .TP \fBstrerror_r\fP() .\" FIXME . for later review when Issue 8 is one day released... .\" A future POSIX.1 may remove strerror_r() .\" http://austingroupbugs.net/tag_view_page.php?tag_id=8 .\" http://austingroupbugs.net/view.php?id=508 .TQ \fBstrerror_l\fP() POSIX.1\-2008. .TP \fBstrerrorname_np\fP() .TQ \fBstrerrordesc_np\fP() GNU. .P .\" e.g., Solaris 8, HP-UX 11 .\" e.g., FreeBSD 5.4, Tru64 5.1B POSIX.1\-2001 permet à \fBstrerror\fP() d'écrire \fIerrno\fP 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, \fBstrerror\fP() renvoie NULL si le numéro d'erreur est inconnu. Sur d'autres, \fBstrerror\fP() renvoie une chaîne du style «\ Error nnn occurred\ » et écrit \fBEINVAL\fP dans \fIerrno\fP si le numéro d'erreur est inconnu. C99 et POSIX.1\-2008 exigent que la valeur renvoyée ne soit pas NULL. .SH HISTORIQUE .TP \fBstrerror\fP() POSIX.1\-2001, C89. .TP \fBstrerror_r\fP() POSIX.1\-2001. .TP \fBstrerror_l\fP() glibc 2.6. POSIX.1\-2008. .TP \fBstrerrorname_np\fP() .TQ \fBstrerrordesc_np\fP() glibc 2.32. .SH NOTES \fBstrerrorname_np\fP() et \fBstrerrordesc_np\fP() sont thread\-safe et async\-signal\-safe. .SH "VOIR AUSSI" \fBerr\fP(3), \fBerrno\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrsignal\fP(3), \fBlocale\fP(7), \fBsignal\-safety\fP(7) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Frédéric Hantrais . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .