#include <errno.h> // <cerrno> en C++
#define EDOM 33 /* Valeur numérique dépendante du système */
Ce code d'erreur est retourné lorsqu'un paramètre est hors du domaine de définition de la fonction utilisée.
Par exemple, comme la racine carrée d'une valeur négative n'est pas définie, la fonction sqrt
renvoie EDOM
dans ce cas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <errno.h> #include <math.h> #include <stdio.h> #include <stdlib.h> int main() { int result = sqrt( 4 ); printf( "%d - %d\n", result, errno ); result = sqrt( -1 ); if ( errno == EDOM ) { printf( "%d - %d\n", result, errno ); printf( "Le domaine de la fonction n'est définie pour une valeur négative.\n" ); } return EXIT_SUCCESS; } |
Les résultats produits par cet exemple sont :
$> gcc -o essai essai.c -lm $> ./essai 2 - 0 -2147483648 - 33 Le domaine de la fonction n'est définie pour une valeur négative. $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :