Maison  >  Article  >  développement back-end  >  Comment C imprime-t-il les valeurs booléennes : entiers ou chaînes ?

Comment C imprime-t-il les valeurs booléennes : entiers ou chaînes ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 23:31:30833parcourir

How Does C   Print Boolean Values: Integers or Strings?

Impression booléenne en C : compréhension de la sortie affichée

Lors de l'impression d'une valeur booléenne sur un flux de sortie à l'aide de la fonction de bibliothèque standard std::cout , il est important de comprendre quel sera le résultat affiché. Le standard C n'impose pas d'exigence spécifique pour la représentation exacte en sortie des valeurs booléennes.

En pratique, le comportement dépend d'un indicateur appelé boolalpha associé au flux. Par défaut, l'indicateur boolalpha est défini sur false, ce qui entraîne la représentation des valeurs booléennes sous forme de valeurs numériques simples (0 pour faux et 1 pour vrai).

Pour afficher les valeurs booléennes sous forme de chaînes « faux » et « vrai » , vous pouvez définir l'indicateur boolalpha sur true à l'aide du manipulateur std::boolalpha. Cela demandera au flux de sortie d'utiliser la représentation spécifique aux paramètres régionaux pour les valeurs booléennes.

Par exemple, considérons l'extrait de code suivant :

<code class="cpp">#include <iostream>
#include <iomanip>

int main() {
    std::cout << false << "\n";
    std::cout << std::boolalpha;
    std::cout << false << "\n";
    return 0;
}</code>

Ce code produira la sortie :

0
false

La première ligne affiche false comme valeur numérique 0 car boolalpha est initialement défini sur false. La deuxième ligne active boolalpha, provoquant l'impression de false comme chaîne "false".

De plus, l'aspect localisation de l'indicateur boolalpha permet des représentations spécifiques aux paramètres régionaux. Par exemple, lors de l'intégration du flux de sortie avec des paramètres régionaux français, le code peut afficher "faux" au lieu de "false". Ce comportement dépend de la prise en charge au sein du compilateur et de l'implémentation de la bibliothèque standard.

Pour garantir une localisation précise, vous pouvez créer une facette numpuct personnalisée qui définit les représentations localisées pour les valeurs booléennes. En imprégnant le flux de sortie d'un paramètre régional qui utilise cette facette personnalisée, vous pouvez contrôler la représentation exacte de la sortie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn