Fonctions de base en langage C/errno.h

Début de la boite de navigation du chapitre

Le fichier d'entête errno.h définit le mécanisme qui permet de savoir si une fonction système ou une fonction de la bibliothèque standard a rencontré une erreur. Elle écrit alors une valeur entière dans errno.

errno.h
Icône de la faculté
Chapitre no 3
Leçon : Fonctions de base en langage C
Chap. préc. :ctype.h
Chap. suiv. :math.h
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Fonctions de base en langage C : errno.h
Fonctions de base en langage C/errno.h
 », n'a pu être restituée correctement ci-dessus.
Des informations sur la gestion des erreurs dans le wikilivre Programmation C, chapitre sur les erreurs.

Remarques sur l’utilisation de errno modifier

  • une fonction qui s'exécute avec succès ne remet pas à 0 errno, vous devez vous en charger avant de l'appeler.
  • errno peut ne pas être une variable : ne pas utiliser son adresse.
  • Vous devez stocker ou exploiter au plus tôt errno juste après l'appel de la fonction. Tout appel à une fonction autre que perror risque d'écraser errno.
  • Ne pas utiliser le mécanisme errno dans vos propres fonctions.

Constantes symboliques modifier

errno.h contient la définition de constantes symboliques qui représentent les codes d'erreur de errno.

Ces constantes peuvent être spécifiques à un système. Il faut étudier errno.h sur la machine cible pour assurer la portabilité des programmes.

Fonctions utiles modifier

  • void perror(char *s) : Affiche le message d'erreur correspondant à errno sur stderr.
  • char *strerror(int n) : Renvoie le message d'erreur correspondant à n.

Un extrait de code qui analyse le résultat de la fonction système stat en cas de problème :

cr = stat(nomFichier, &buf);
if (cr != 0)
{
   perror("stat");
   exit(EXIT_FAILURE);
}