assert.h

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

<assert.h> est un en-tête présent dans la bibliothèque standard du langage C qui définit la macro assert. La macro met en œuvre une assertion, qui peut être utilisée pour vérifier les hypothèses formulées par le programme.

La macro assert diagnostique les insertions dans le programme. Lorsqu'il est exécuté, si l'expression est fausse (c'est-à-dire égale à 0), assert écrit des informations sur l'appel qui a échoué dans stderr, puis appelle abort ; plus précisément, les informations écrites dans stderr sont :

  • le nom du fichier source ;
  • le numéro de la ligne concernée dans le code source ;
  • la fonction mise en jeu dans le code source ;
  • le texte de l'expression qui a été évaluée à 0.

Exemple d'utilisation[modifier | modifier le code]

#include <stdio.h>
#include <assert.h>

int test_assert ( int x )
{
   assert( x <= 4 );
   return x;
}

int main ( void ) 
{
  int i;

    for (i=0; i<=9; i++){
        test_assert( i );
        printf("i = %i\n", i);
    }

  return 0;
}
i = 0
i = 1
i = 2
i = 3
i = 4
assert: assert.c:6: test_assert: Assertion `x <= 4' failed.
Aborted

Ici, le programme est interrompu pendant l'exécution de test_assert appelée avec le paramètre 5.