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 fetestexceptflag (C23)

La fonction fetestexcept La fonction feupdateenv


Entête à inclure

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

Fonction fetestexceptflag (C23)

int fetestexceptflag( const fexcept_t * flagp, int excepts );

Cette fonction teste des indicateurs d'exception contenus dans une sauvegarde de type fexcept_t.

Paramètres

Valeur de retour

La fonction renvoie le OU binaire des macros correspondant aux indicateurs positionnés dans la sauvegarde. Si aucun indicateur demandé n'est positionné, elle renvoie 0.

Exemple de code

Le programme suivant sauvegarde des indicateurs, puis les teste sans réinstaller cette sauvegarde dans l'environnement courant.

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

#pragma STDC FENV_ACCESS ON

int main() {

#ifdef __STDC_VERSION_FENV_H__
    fexcept_t saved;

    feraiseexcept( FE_INVALID );
    fegetexceptflag( &saved, FE_INVALID );

    printf( "Sauvegarde FE_INVALID : %d\n", fetestexceptflag( &saved, FE_INVALID ) != 0 );
#else
    puts( "fetestexceptflag non disponible avant C23." );
#endif

    return 0;
}
Tester une sauvegarde d'exceptions

Sujets connexes

Exceptions en virgule flottante
fegetexceptflag
fesetexceptflag


La fonction fetestexcept La fonction feupdateenv




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