cout が符号なし文字を正しく印刷しないのはなぜですか?
コード スニペット内:
#include<iostream> #include<stdio.h> using namespace std; main() { unsigned char a; a=1; printf("%d", a); cout<<a; }
cout は印刷していますゴミのように見える値。しかし、これは実際にはゴミではありません。印刷できない ASCII 文字が印刷されています。 1 に対応する ASCII 文字は印刷できないことに注意してください。
std::isprint:
std::cout << std::isprint(a) << std::endl;
を使用してこれを確認できます。これにより、文字が印刷されていないことを示す 0 (false) が出力されます。
cout に 1 を強制的に出力するには、 a を unsigned にキャストします。整数:
cout << static_cast<unsigned>(a) << std::endl;
以上が「cout」が符号なし Char 値を正しく出力しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。