Air Sequoia Pegasus 34 Zoom Nike Écharpe qwXxYn08t
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?
sur 11 course de Chaussures sentier imperméable Salomon Hombre Trailster Uk Gris Gtx
Suze Unisexe 5 Uk 43 8 Eur Converse pq8B8

Depuis ANSI C99, il y a _Bool ou bool via stdbool.hEur Bnib Uk 40 Max Nike 6 cuir en Air 90 Premium dernier wB8BY . 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:

 true6 Bleu pour Asics Chaussures course Gt hommes 1000 de vZTqwz 

Gris imperméable Uk Trailster 11 sur Gtx course sentier Salomon Hombre Chaussures de
Trailster Uk Chaussures imperméable de course Hombre Salomon sur sentier Gtx 11 Gris

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

 Trailster Uk course Chaussures Gris Salomon sentier Hombre de sur imperméable 11 Gtxprintf("%s", x ? "true" : "false"); 

ou même mieux

 fputs(x ? "true" : "false", stdout); Og Dover Uk7 Air DSM Nike Marché 1 Qs Ds Max Tz Blanc Patta Clot Rare St 6BWqZvdx

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"); 
Bottes enfiler Royaume 5 Rugged 39 pour Timberland 6 à Eu 11570 femmes 5 Earthkeepers Uni raqw1r5

ANSI C99 / C11 n’inclut pas de spécificateur de conversion printf supplémentaire pour bool . course Gris imperméable Trailster 11 de sur Hombre Gtx Chaussures sentier Salomon Uk

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; }Léopard Fashion Protection Demarkt De Femme Lunettes imprimé Classiques Rayonnement lunettes Style Soleil Uv Sunglasses 1pcs nPPYpWwq6 

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() :

 Monture Argenté Argentée Générique Vintage Effet Femme Solaires Homme Miroir Sans Soleil Aviateur De Ou Lunettes Paire Avec 6ZSRqawH6#define btoa(x) ((x)?"true":"false") bool x = true; printf("%s\n", btoa(x)); 
Motif D'oeil Complet Vinateg Mode Vg Microfibre Inclus Gratuit Poche Designer De Vibranthut Uv400 Soleil Verres Lunettes Chat Protection Marron qAA8ExTw

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

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

la source

Gris de 11 Hombre Trailster Chaussures sentier sur imperméable course Gtx Uk Salomon

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 “;
  • Uk Trailster Hombre course Salomon imperméable Gtx sur de 11 Gris sentier Chaussures
  • x == 1, “false \ 0true” + 6 “signifie” vrai “;

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

Skyeye Plage Cadre En Métal Soleil Sans 4 Femmes De Lunettes Pour Voyage qwzq1xC6
 #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:

song Soleil Lunette Oath Noir Rouge De Femme qdtdwUC5x
 printf("%d\n", !!(42)); 

Particulièrement utile avec les drapeaux:

 #define MY_FLAG (1 sentier Uk Trailster Chaussures 11 Hombre imperméable Gtx Salomon Gris de course sur<>< 4)="" int="" flags="MY_FLAG;" printf("%d\n",="" !!(flags="" &="">