Errno.h
# Errno.h

<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).

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)

    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 fichier.

