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 (consultez
feature_test_macros(7)) :
sys_errlist,
sys_nerr : _BSD_SOURCE
DESCRIPTION¶
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[]. L'utilisation de
sys_errlist[] est maintenant
obsolète.
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.
La fonction
perror() et la variable externe
errno (consultez
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.44 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Nicolas François
et l'équipe francophone de traduction de Debian (2006-2009).
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> ».