table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
perror(3) | Library Functions Manual | perror(3) |
NOM¶
perror - Afficher un message d'erreur système
BIBLIOTHÈQUE¶
Bibliothèque C standard (libc, -lc)
SYNOPSIS¶
#include <stdio.h>
void perror(const char *s);
#include <errno.h>
int errno;/* Pas exactement déclaré de cette façon ; consultez errno(3). */
[[obsolète]] const char *const sys_errlist[]; [[obsolète]] int sys_nerr;
sys_errlist, sys_nerr :
De la glibc 2.19 à la glibc 2.31 :
_DEFAULT_SOURCE
glibc 2.19 et antérieures :
_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 un 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 glibc 2.32, 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).
Interface | Attribut | Valeur |
perror() | Sécurité des threads | MT-Safe race:stderr |
STANDARDS¶
perror(), errno : POSIX.1-2001, POSIX.1-2008, 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¶
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 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.
5 février 2023 | Pages du manuel de Linux 6.03 |