C ブール値の出力: 表示される出力について理解する
標準ライブラリ関数 std::cout を使用して出力ストリームにブール値を出力する場合、表示される結果がどのようになるかを理解することが重要です。 C 標準では、ブール値の正確な出力表現について特定の要件を課していません。
実際の動作は、ストリームに関連付けられた boolalpha と呼ばれるフラグに依存します。デフォルトでは、ブールアルファ フラグは false に設定されており、ブール値は単純な数値 (偽の場合は 0、真の場合は 1) として表されます。
ブール値を「false」および「true」の文字列として表示するには、std::boolalpha マニピュレータを使用して boolalpha フラグを true に設定できます。これにより、ブール値にロケール固有の表現を使用するように出力ストリームに指示されます。
たとえば、次のコード スニペットを考えてみましょう:
<code class="cpp">#include <iostream> #include <iomanip> int main() { std::cout << false << "\n"; std::cout << std::boolalpha; std::cout << false << "\n"; return 0; }</code>
このコードは出力を生成します:
0 false
最初の行では、boolalpha が最初に false に設定されているため、数値 0 として false が出力されます。 2 行目は boolalpha をアクティブにし、false を文字列 "false" として出力します。
さらに、boolalpha フラグのローカリゼーションの側面により、ロケール固有の表現が可能になります。たとえば、出力ストリームにフランス語のロケールを組み込む場合、コードは「false」ではなく「faux」を出力することがあります。この動作は、コンパイラ内のサポートと標準ライブラリ実装に依存します。
正確なローカライズを保証するために、ブール値のローカライズされた表現を定義するカスタム numpunct ファセットを作成できます。このカスタム ファセットを使用するロケールを出力ストリームに組み込むことで、正確な出力表現を制御できます。
以上がC はどのようにしてブール値 (整数または文字列) を出力しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。