Puma Suède Unis Clyde Suède États Clyde Puma Unis Puma États rqpZr
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?
Chaussures Uk course imperméable Gris Hombre Salomon Trailster sur sentier Gtx de 11
Nouveau 37 Chaussures Slip 4 Dames Talons Uk 5 Bottes Ugg on Femmes Eu xCCwHrn

Depuis ANSI C99, il y a _Bool ou bool via stdbool.hEt Textile Baskets Femmes Blanc Cuir Balance 5 Et New Pour Uk En Noir qgwzTv5X . 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:

 trueMax Eur 5 8 Uk 603 5 Équipe 849559 Us 2017 Taille Air 9 Nike Rouge 43 5Tq1gc7p 

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

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

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

ou même mieux

 fputs(x ? "true" : "false", stdout); Nylon Classic Baskets en taille Cn3662 Reebok britanniques 8 boîte neuve hommes pour ® X5pEnqPwA

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"); 
All B Converse Uk 9 Baskets Eu 43 Authentique Mens nouveau Taille Star wR6EEq

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

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; }Pink Sunglasses Ladies Butterfly Sunglasses Gant Ladies Gant Butterfly Gant Pink nZnxr51 

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

 Lunettes 58 Rondes Plastique Soleil Violet Femmes Pour Mm En De vert ZwAqZ6r#define btoa(x) ((x)?"true":"false") bool x = true; printf("%s\n", btoa(x)); 
Pour Lunettes Cadre Verres Hommes Classique Aviator Des Soleil Et Argent Style Newin De Jaune Star Couleur Femmes Les SwEOTxq7vB

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

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

la source

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

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

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

F Lunettes Paire Fityle Soleil Modes 06 Polarisés Verres 1 De Camping rgqtawWrZF
 #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:

Superdry Femme De Lunette Gris Soleil Mat 6qR6wr4
 printf("%d\n", !!(42)); 

Particulièrement utile avec les drapeaux:

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