NOM
perror - Afficher un message d’erreur système.
SYNOPSIS
#include <stdio.h>
void perror(const char *s);
#include <errno.h>
const char *sys_errlist[];
int sys_nerr;
int errno;
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
sys_errlist, sys_nerr : _BSD_SOURCE
La fonction perror() affiche un message sur la sortie d’erreur
standard, décrivant la dernière erreur rencontrée durant un appel
système ou une fonction de bibliothèque. D’abord, (si s n’est pas NULL
et *s n’est pas un octet nul), la chaîne de caractère s est imprimée,
suivie d’un deux points (« : ») ou d’un blanc, puis le message, suivi
d’un saut de ligne.
La chaîne de caractères contient généralement le nom de la fonction où
s’est produit l’erreur. Le numéro d’erreur est obtenu à partir de la
variable externe errno, qui contient le code d’erreur lorsqu’un
problème survient, mais qui n’est pas effacé lorsqu’un appel est
réussi.
La liste globale d’erreurs sys_errlist[] 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 dans cette liste, car de
nouvelles erreurs n’ont peut-être pas de message dans sys_errlist[].
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 de bibliothèque réussi. Cette fonction peut modifier errno
même si elle réussit, ne serait-ce que par des appels système internes
qui peuvent échouer. Ainsi, si un appel qui échoue n’est pas
immédiatement suivi par perror, la valeur de errno doit être
sauvegardée.
CONFORMITÉ
La fonction perror() et la variable externe errno (voir errno(3)) sont
conformes à C89, C99, BSD 4.3, POSIX.1-2001. Les variables externes
sys_nerr et sys_errlist sont conformes à BSD.
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 3.23 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent être trouvées à l’adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Nicolas François
<nicolas.francois@centraliens.net> et l’équipe francophone de
traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».
26 juillet 2007 PERROR(3)