cout を使用した C での文字の整数としての出力
関数 cout を使用して文字を整数として出力しようとすると、予期しない結果が発生する可能性があります。これは、cout が通常、文字を 8 ビット整数ではなく文字として扱うためです。ただし、C の文字型は確かに整数型です。
この問題を解決し、文字が整数として出力されるようにするには、単項プラス演算子 ( ) を使用するのが効果的な解決策です。この演算子は、文字を、元の型に関係なく、数値として出力できるプリミティブ データ型 (int など) に昇格します。
char a = 0xab; cout << +a; // Output: 171
単項プラス演算子を適用すると、文字 a がキャストされます。 intに。このキャストにより、文字の数値が保持され、整数として出力できるようになります。
このアプローチは、文字型 (char、signed char、または unsigned char) は、標準のセマンティクスを備えた単項プラス演算子を提供します。さらに、現在のオブジェクトの値を (値または const への参照によって) 返す単項プラス演算子を使用して数値を表すクラスを定義すると、文字を数値として出力できます。
以上がC で `cout` を使用して文字の整数値を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。