ASSERT |
Assertion |
---|---|
Turbo C++ | assert.h |
Syntaxe
void assert(int test); |
Paramètres
Nom | Description |
---|---|
test | Si cette condition est non nulle (c'est-à-dire évaluée comme vraie), le programme continue son exécution normalement. Si la condition est nulle (évaluée comme fausse), la fonction assert provoque un échec de l'assertion. En cas d'échec, un message d'erreur est affiché, généralement comprenant l'expression ayant échoué, le fichier source et la ligne où l'assertion a échoué, et le programme est souvent arrêté (selon la configuration). |
Description
Cette fonction permet de vérifier le programme.
Remarques
- assert est une macro se transformant en instruction if ; si test est zéro, assert affiche un message sur stderr et interrompt le programme (en appelant abort).
- assert affiche ce message :
- Les valeurs filename et linenum indiquées dans le message correspondent au nom du fichier source et au numéro de ligne où apparaît la macro assert.
- Si vous placez la directive #define NDEBUG («pas de débogage») dans le code source avant la directive #include <assert.h>, l'instruction assert sera commentée.
- Il n'y a aucune valeur de retour.
- Portabilité : assert est disponible sur certains systèmes UNIX, notamment les systèmes III et V, et est compatible avec le langage de programmation ANSI C.
Assertion failed: test, file filename, line linenum |
Exemple
- #include <assert.h>
- #include <stdio.h>
- #include <stdlib.h>
-
- struct ITEM {
- int key;
- int value;
- };
-
- /* ajouter un élément à la liste, assurez-vous que la liste n'est pas nulle */
- void additem(struct ITEM *itemptr)
- assert(itemptr !=NULL);
- /* ajouter un élément à la liste */
- }
-
- int main(void) {
- additem(NULL);
- return 0;
- }
on obtiendra la sortie du programme suivante :
Assertion failed: itemptr != NULL,file C:\TC\ASSERT.C, line 12
Voir également
Dernière mise à jour : Dimanche, le 28 Février 2021