配列はunsigned char型として宣言し、範囲0x00-0xff内の値で初期化し、COUTを使用して印刷した場合ごみ値配列は、unsigned char型として宣言されたときに
+ ( �
~ � � �
� O
� � <
を次のように、私はゴミ値を取得し、私が知っているかもしれませんどのように数字のための1バイトを使用しても、まだ使用することができますcout?
配列はunsigned char型として宣言し、範囲0x00-0xff内の値で初期化し、COUTを使用して印刷した場合ごみ値配列は、unsigned char型として宣言されたときに
+ ( �
~ � � �
� O
� � <
を次のように、私はゴミ値を取得し、私が知っているかもしれませんどのように数字のための1バイトを使用しても、まだ使用することができますcout?
それはunsigned char
なので、std::cout
は端末にそれらを通過しているし、それが文字セット(まあ、とにかく、しようとすると表示されています - 値は使用している文字セットの有効な印刷可能文字の範囲外です)。
cout
と出力するときは、unsigned int
にキャストします。
これらはガベージ値ではありません。それらは文字が表すものです。 intとしてこれを印刷するには、単に出力時にunsigned int
にキャスト:
cout << (unsigned int) some_char;
文字タイプは、デフォルトで文字として表示されます。
unsigned char value = 42;
std::cout << static_cast<unsigned int>(value);
初期化コードと印刷コードの両方を表示することはできますか? – Lefteris
印刷できない文字を印刷しようとしています。 –