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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction feholdexcept (C99)

La fonction fegetround La fonction feraiseexcept


Entête à inclure

#include <fenv.h>  // <cfenv> en C++

Fonction feholdexcept (C99)

int feholdexcept( fenv_t * envp );

Cette fonction sauvegarde l'environnement courant, efface les indicateurs d'exception, puis installe si possible un mode sans arrêt sur exception.

Paramètres

Valeur de retour

La fonction renvoie 0 si l'opération réussit. Elle renvoie une valeur non nulle en cas d'échec.

Exemple de code

Le programme suivant isole temporairement un calcul susceptible de modifier les indicateurs d'exception.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
#include <fenv.h>
#include <stdio.h>

#pragma STDC FENV_ACCESS ON

int main() {

    fenv_t saved;

    if ( feholdexcept( &saved ) == 0 ) {
        feraiseexcept( FE_INVALID );
        fesetenv( &saved );
        puts( "Environnement initial restaure." );
    }

    return 0;
}
Isoler temporairement des exceptions

Sujets connexes

Environnement flottant
fegetenv
fesetenv


La fonction fegetround La fonction feraiseexcept




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé