<errno.h> est l'en-tête de la bibliothèque standard du C, du langage C, qui contient les définitions des macros et des constantes utilisées pour signaler une erreur, ou vérifier s'il y en a une qui s'est produite. Cela se fait à travers des codes d'erreur enregistré dans une variable statique appelé errno (forme raccourcie de error number)International Standard for Programming Language C (C99), ISO/IEC 9899:1999, .

Une valeur (le code d'erreur) est enregistrée dans errno par quelques fonctions lorsque celles-ci détectent une erreur. Au démarrage du programme, cette variable contient la valeur zéro. Les fonctions des bibliothèques standard n'y stockent que des valeurs positives. N'importe quelle fonction peut en modifier la valeur au cours de son exécution, si un problème a eu lieu.

Traditionnellement, errno utilisait un emplacement mémoire statique, mais des macros sont presque toujours utilisées de nos jours pour permettre l'usage de multiples threads ; ainsi, chaque thread peut voir ses propres codes d'erreur.

Ce fichier définit également des constantes qui représentent des codes d'erreurs couramment utilisés. La bibliothèque standard du C requiert seulement les trois suivantes : EDOM Lorsqu'un paramètre donné est hors du domaine de définition de la fonction, par exemple sqrt(-1). ERANGE Résultat d'une fonction hors de son domaine de définition, par exemple strtol("0xfffffffff",NULL,0) sur un système avec des long de 32 bits. EILSEQ (Requis depuis l'amendement 1 de 1994 au standard C89)"A brief description of Normative Addendum 1". Résultat d'une séquence de bytes non autorisée, par exemple mbstowcs(buf,"\xff", 1) sur un système basé sur UTF-8. Des systèmes d'exploitation compatibles POSIX comme Linux, Solaris ou AIX incluent plusieurs autres codes d'erreurs, souvent bien plus utilisés que ceux ci-dessus, comme EACCES qui indique un problème d'ouverture d'un fichiererrno.h system error numbers – Base Definitions Reference, The Single UNIX® Specification, Issue 7 from The Open Group.

Voir aussi Notes et références

Bibliographie W. Richard, Stevens; Stephen A., Rago (May 24, 2013). Advanced Programming in the UNIX Environment (Third ed.). Addison-Wesley Professional. . Retrieved 27 February 2015.

Articles connexes stdio.h string.h math.h

Liens externes Codes errno par plateforme FreeBSD System: Error codes GNU C library manual: Error codes Liste des codes errno sous Linux

Catégorie:Langage C