+-
c – uint8_t变量的打印不正确
参见英文答案 > uint8_t can’t be printed with cout                                    8个
我试图读取一个uint8_t变量的小整数值(小于10).我是这样做的

uint8_t myID = atoi(argv[5]);

但是,当我这样做

std::cout << "My ID is "<< myID <<std::endl;

它会打印一些非字母数字字符.当myID是int类型时没有问题.我做了明确的尝试

uint8_t myID = (uint8_t)atoi(argv[5]);  

但结果是一样的.任何人都可以解释为什么会这样,如果有任何可能的解决方案?

最佳答案
uint8_t不是单独的数据类型.在提供它的系统上,实际类型是别名的某种标准数据类型,最常见的是unsigned char.

运算符<

std::cout << "My ID is "<< int(myID) <<std::endl;
//                         ^^^^^

Demo.

点击查看更多相关文章

转载注明原文:c – uint8_t变量的打印不正确 - 乐贴网