C++ 中打印uint8_t类型

今天写段代码,给一个变量赋值为1之后。使用

uint8_t num;
num = 1;
cout << num << endl;

竟然打印不出来。苦恼了好久。gdb 中打印出来的确实对的。

后来,无意之中将num改为了100。打印出来的竟然是d。

到这里。才终于意识到原因在哪儿了。100就是d的ASCII码表示。看了我在cout的时候,程序应该是把num当作一个字符来处理了。系统中的uint8_t其实就是unsigned char类型。cout输出的时候自然就会当作一个字符来输出。

cout << (int)num << endl;
输出正确了。 联系我:

Email: xudongsecret@qq.com

===完===