Index général des pages de man   Index Section man 3   Table des Matières de perror   Imprime la page de man perror en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions des bibliothèques (section 3)

perror

 
  

Nom

perror - Affiche un message d'erreur.

Synopsis

#include <stdio.h>

void perror (const char *s);

#include <errno.h>

const char *sys_errlist[];
int sys_nerr;

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. La chaîne de caractère s est imprimée en premier, 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.

Conformité

ANSI C, BSD 4.3, POSIX, X/OPEN

Voir Aussi

strerror(3)

Traduction

Christophe Blaess, 1997.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"