perror - Affiche un message d'erreur.
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
non plus), la chaîne de caractère
s
est imprimée, suivie d'un double-point 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éfini 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èmes 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.
Christophe Blaess, 1996-2003.