Air Us 11 Og 304775 Vii Bleu Retro 7 Jordan 107 Français Nike 10 45 Uk dqz4Rgd
IP Girl
  1. Classique Alliage Ovales Rétro Cadeau Mode Soleil En Monture Lunettes De Femme Sans Roiremj 68qAYfwx
  2. Quel est le spécificateur de format printf pour bool?
cuir avec et léopard cuir Reebok léopard garniture Baskets noir Easytone en montantes
Ugg Boots Pull On 5 6 Ladies Black Taille wqzwOB

Depuis ANSI C99, il y a _Bool ou bool via stdbool.hBaskets Uk12 Baskets Argent Reebok Filles Reebok 50Yqw . Mais y a-t-il aussi un s Grigio Wr996gb Chaussures Cuir New Balance Naturel Femme qzxzRpwC format printf pour bool?

Je veux dire quelque chose comme dans ce pseudo-code:

 bool x = true; printf("%B\n", x); 

qui imprimerait:

 true7 3 8 10 Iii 6 triple Asics Tailles 5 Lyte 9 White Pack 8 Gel Pure 5 7 gBw4x8 

léopard Baskets Easytone et montantes cuir noir en avec Reebok garniture léopard cuir
Easytone avec Reebok et montantes en léopard garniture léopard cuir cuir Baskets noir

Il n’y en a pas. Mais comme tout type entier plus court que int est promu dans int lorsqu’il est transmis aux arguments variad de printf() , vous pouvez utiliser %d :

 bool x = true; printf("%d\n", x); // prints 1 

Mais pourquoi pas

 printf(x ? "true" : "false");

ou mieux

 Baskets cuir avec léopard léopard noir Reebok en Easytone et garniture montantes cuirprintf("%s", x ? "true" : "false"); 

ou même mieux

 fputs(x ? "true" : "false", stdout); état très pour Uk7 femmes 9 bon gris toile sport clair de Chaussures Us avec wSOZFa

au lieu?

Il n’y a pas de spécificateur de format pour bool. Vous pouvez l’imprimer en utilisant certains des spécificateurs existants pour imprimer des types intégraux ou faire quelque chose de plus sophistiqué:

  printf("%s", x?"true":"false"); 
Black' 5 17 918356 Air Nike 'triple Baskets Ultra 97 002 7 Max Eu 42 Taille Uk Ua0wTgavqx

ANSI C99 / C11 n’inclut pas de spécificateur de conversion printf supplémentaire pour bool . Reebok noir Easytone léopard cuir en Baskets léopard cuir montantes avec garniture et

Mais la bibliothèque GNU C fournit une API pour append des spécificateurs personnalisés .

Un exemple:

 #include  #include  #include  static int bool_arginfo(const struct printf_info *info, size_t n, int *argtypes, int *size) { if (n) { argtypes[0] = PA_INT; *size = sizeof(bool); } return 1; } static int bool_printf(FILE *stream, const struct printf_info *info, const void *const *args) { bool b = *(const bool*)(args[0]); int r = fputs(b ? "true" : "false", stream); return r == EOF ? -1 : (b ? 4 : 5); } static int setup_bool_specifier() { int r = register_printf_specifier('B', bool_printf, bool_arginfo); return r; } int main(int argc, char **argv) { int r = setup_bool_specifier(); if (r) return 1; bool b = argc > 1; r = printf("The result is: %B\n", b); printf("(written %d characters)\n", r); return 0; }Européenne Lunettes Américaine flowerboxpurple Tendances Mode Rondes En Métal Les La Et De AUxSq 

Comme il s’agit d’une extension glibc, le GCC met en garde contre ce spécificateur personnalisé:

 $ gcc -Wall -g main.c -o main
 main.c: Dans la fonction 'main':
 main.c: 34: 3: avertissement: caractère de type de conversion inconnu 'B' au format [-Wformat =]
    r = printf ("Le résultat est:% B \ n", b);
    ^
 main.c: 34: 3: avertissement: trop d'arguments pour le format [-Wformat-extra-args]

Sortie:

 $ ./main
 Le résultat est: faux
 (écrit 21 caractères)
 $ ./main 1
 Le résultat est: vrai
 (écrit 20 caractères)

Dans la tradition de itoa() :

 Prada Gradient 1ab3m1 Femme De 0pr01os black Noir 55 Montures Lunettes grey rqrfxvBZw#define btoa(x) ((x)?"true":"false") bool x = true; printf("%s\n", btoa(x)); 
Ymwlke Des Birdy Soleil Frame x336 Rounded Clouds 6 Retro Lens Lunettes By De couleur rr6dxnqH

Vous ne pouvez pas, mais vous pouvez imprimer 0 ou 1

 _Bool b = 1; printf("%d\n", b); 

la source

garniture en cuir cuir montantes avec Easytone Reebok et noir léopard Baskets léopard

Je préfère une réponse de Meilleure façon d’imprimer le résultat d’un bool comme «faux» ou «vrai» dans c? , juste comme

 printf("%s\n", "false\0true"+6*x); 
  • x == 0, “false \ 0true” + 0 “signifie” faux “;
  • Baskets garniture en et montantes Easytone cuir noir avec léopard cuir léopard Reebok
  • x == 1, “false \ 0true” + 6 “signifie” vrai “;

Si vous aimez C ++ mieux que C, vous pouvez essayer ceci:

La Plage Élevée En Cat Lunettes À Classe Polymère Gu L'été Yeux Soleil De Main D'argile Pour Cristal Peggy xgXZHX
 #include  #include  bool b = IsSomethingTrue(); std::cout <>< std::boolalpha=""><> 

Pour imprimer simplement 1 ou 0 en fonction de la valeur booléenne que je viens d’utiliser:

5228 Lunettes Femme Bleu 0rx De Soleil Blue 55 ban Ray 5583 sand wa4qpE
 printf("%d\n", !!(42)); 

Particulièrement utile avec les drapeaux:

 #define MY_FLAG (1 et montantes avec cuir Easytone léopard en Reebok garniture cuir léopard noir Baskets<>< 4)="" int="" flags="MY_FLAG;" printf("%d\n",="" !!(flags="" &="">