Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       perror - Afficher un message d'erreur système

SYNOPSIS

       #include <stdio.h>

       void perror(const char *s);

       #include <errno.h>

       const char *const sys_errlist[];
       int sys_nerr;
       int errno;       /* Pas exactement déclaré de cette façon, consulter errno(3). */

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

       sys_errlist, sys_nerr :
           De la glibc 2.19 à 2.31 :
               _DEFAULT_SOURCE
           Pour la glibc 2.19 et avant :
               _BSD_SOURCE

DESCRIPTION

       La fonction perror() produit un message sur  la  sortie  d'erreur  standard  décrivant  la
       dernière erreur rencontrée lors d'un appel à une fonction système ou de bibliothèque.

       Premièrement,  la  chaîne  s en argument est imprimée (si s n'est pas NULL et *s n'est pas
       l’octet NULL (« e0 »), suivie  d'une  virgule  et  d’espaces,  puis  un  message  d'erreur
       correspondant à la valeur courante de errno et un saut de ligne.

       Pour être la plus utile possible, la chaîne en argument doit inclure le nom de la fonction
       dans laquelle l'erreur est survenue.

       La liste globale d'erreurs sys_errlist[] pouvant être indexée par errno peut être utilisée
       pour  obtenir  le  message d'erreur sans le saut de ligne. Le plus grand numéro de message
       contenu dans cette table est sys_nerr - 1. Soyez prudents lors des accès directs  à  cette
       liste   car  de  nouvelles  valeurs  d’erreurs  n'ont  peut-être  pas  été  ajoutées  dans
       sys_errlist[].  L'utilisation  de  sys_errlist[]   est   maintenant   obsolète,   utilisez
       strerror(2) à la place.

       Quand  un  appel  système  échoue, il renvoie habituellement -1, et place le code d'erreur
       dans errno (les codes sont décrits dans <errno.h>). Beaucoup de fonctions de  bibliothèque
       se  comportent également ainsi. La fonction perror() permet de traduire les codes d'erreur
       en une forme humainement lisible. Notez que errno est indéfinie après un appel de fonction
       système  ou  de  bibliothèque  réussi. Une telle fonction peut modifier errno même si elle
       réussit, ne serait-ce que parce que des appels système internes peuvent échouer. Ainsi, si
       un appel qui échoue n'est pas immédiatement suivi par perror, la valeur de errno doit être
       sauvegardée.

VERSIONS

       Depuis la version 2.32 de la glibc, les déclarations de sys_nerr et  sys_errlist  ne  sont
       plus contenues dans <stdio.h>.

ATTRIBUTS

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

       ┌────────────────────────────────────────────┬──────────────────────┬─────────────────────┐
       │InterfaceAttributValeur              │
       ├────────────────────────────────────────────┼──────────────────────┼─────────────────────┤
       │perror()                                    │ Sécurité des threads │ MT-Safe race:stderr │
       └────────────────────────────────────────────┴──────────────────────┴─────────────────────┘

CONFORMITÉ

       perror(), errno : POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.

       Les  variables  externes  sys_nerr  et  sys_errlist  proviennent  de  BSD mais ne sont pas
       définies par POSIX.1.

NOTES

       Les variables externes sys_nerr et sys_errlist sont  définies  par  la  glibc,  mais  dans
       <stdio.h>.

VOIR AUSSI

       err(3), errno(3), error(3), strerror(3)

COLOPHON

       Cette  page  fait partie de la publication 5.13 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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>,   Frédéric   Hantrais
       <fhantrais@gmail.com> et Grégoire Scano <gregoire.scano@malloc.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.

                                           22 mars 2021                                 PERROR(3)