ホームページ > バックエンド開発 > C++ > C はどのようにしてブール値 (整数または文字列) を出力しますか?

C はどのようにしてブール値 (整数または文字列) を出力しますか?

Barbara Streisand
リリース: 2024-10-26 23:31:30
オリジナル
935 人が閲覧しました

How Does C   Print Boolean Values: Integers or Strings?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート