Heim >Backend-Entwicklung >C++ >Wie werden boolesche Werte in C gedruckt?
C Drucken von Booleschen Werten: Was wird angezeigt?
Einführung
Beim Drucken von booleschen Werten in C ist es wichtig, das angegebene Verhalten zu verstehen, um eine konsistente Ausgabe sicherzustellen.
Standardanforderungen
Der C-Standard erfordert nicht explizit ein bestimmtes Ergebnis beim Drucken boolescher Werte. Das Verhalten ist durch die Implementierung definiert und hängt vom jeweiligen Stream ab.
Boolalpha-Flag
Die Standard-Streams (cout, cerr usw.) verfügen über ein Boolalpha-Flag, das steuert die Darstellung boolescher Werte. Bei der Einstellung „false“ (Standard) werden boolesche Werte als 0 (falsch) oder 1 (wahr) angezeigt. Wenn sie auf „true“ gesetzt sind, werden sie als die Zeichenfolgen „false“ und „true“ angezeigt.
Beispiel:
Der folgende Code demonstriert die Verwendung des Boolalpha-Flags:
<code class="cpp">#include <iostream> #include <iomanip> int main() { std::cout << false << "\n"; std::cout << std::boolalpha; std::cout << false << "\n"; return 0; }</code>
Ausgabe:
Ohne Boolalpha-Set lautet die Ausgabe:
<code class="txt">0 false</code>
Mit Boolalpha-Set lautet die Ausgabe:
<code class="txt">0 false</code>
Lokalisierung
Wenn boolalpha festgelegt ist, können die angezeigten Zeichenfolgen für false und true basierend auf dem aktuellen Gebietsschema lokalisiert werden. Der folgende Code legt beispielsweise das Gebietsschema auf Französisch fest und gibt einen booleschen Wert aus:
<code class="cpp">#include <iostream> #include <iomanip> #include <locale> int main() { std::cout.imbue(std::locale("fr")); std::cout << std::boolalpha; std::cout << false << "\n"; return 0; }</code>
Ausgabe:
<code class="txt">faux</code>
Boolesche Darstellung anpassen
Bei Bedarf ist es möglich, die Darstellung boolescher Werte anzupassen, indem eine benutzerdefinierte Numpunct-Facette erstellt wird. Die Numpunct-Facette ermöglicht die Kontrolle über die numerische Formatierung, einschließlich der True- und False-Strings.
Das obige ist der detaillierte Inhalt vonWie werden boolesche Werte in C gedruckt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!