Participer au site avec un Tip
Rechercher
 

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 :

Macro EDOM

La librairie errno.h La macro EILSEQ


Entête à  inclure

#include <errno.h>  // <cerrno> en C++

Macro EDOM

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

Exemple de code

 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;
}
Exemple de test avec la macro EDOM

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

Sujets connexes

errno
strerror


La librairie errno.h La macro EILSEQ