uint8显示奇怪的字符

aks*_*aks 6 c++ visual-c++

我已经声明了一个uint8变量,当打印出它的值时,我会得到笑脸和白色空格.它不应该显示整数值吗?

ust*_*sta 13

我打赌你的系统标题uint8是一个typedeffor unsigned char.然后std::cout << u将打印符号而不是整数值,其中u是类型uint8.尝试

std::cout << static_cast< int >( u );
Run Code Online (Sandbox Code Playgroud)

要么

std::cout << +u;
Run Code Online (Sandbox Code Playgroud)

打印数值.