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é

La librairie <stdbool.h> (<cstdbool> en C++)

La librairie stdarg.h La librairie stddef.h


Accès rapide :
Présentation de l'entête <stdbool.h>
Entête à inclure
Type bool
Exemple de code
Sujets connexes

Présentation de l'entête <stdbool.h>

La librairie <stdbool.h>, introduite avec le standard C99, permet d'utiliser une notation booléenne plus lisible en C. Elle définit le type bool, ainsi que les constantes true et false.

En C++, ces trois éléments existent déjà dans le langage. L'entête <cstdbool> n'a donc pas le même intérêt qu'en C, mais il permet de conserver une certaine compatibilité avec du code partagé.

Entête à inclure

#include <stdbool.h>  // <cstdbool> en C++

Type bool

Une présentation simplifiée de cette librairie consiste à considérer les définitions suivantes. En pratique, la définition exacte dépend de l'implémentation, mais l'idée reste bien de manipuler une valeur logique.

#define bool  _Bool
#define true  1
#define false 0

L'utilisation de bool améliore la lisibilité des signatures de fonctions et du typage de vos variables. Une fonction qui renvoie bool annonce directement qu'elle produit une réponse logique.

Exemple de code

L'exemple suivant utilise une variable booléenne pour piloter une boucle de commandes.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {

    bool mustExit = false;
     
    do {
        char command[20];

        printf( "Enter a command: " );
        fflush( stdout );
        scanf( "%19s", command );
        
        if ( strcmp( command, "exit" ) == 0 ) {
            mustExit = true;
        } else {
            printf( "Executing %s command\n", command );
        }
        
    } while( mustExit == false ); 

    return EXIT_SUCCESS;
}
Utilisation du type bool

Un exemple d'exécution possible est :

Enter a command: build
Executing build command
Enter a command: exit

Sujets connexes

La librairie stddef.h
La librairie stdint.h
strcmp


La librairie stdarg.h La librairie stddef.h




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