在C ++中使用std :: cout打印uint8_t变量

时间:2015-06-16 00:01:26

标签: c++ cout

在以下代码中,std::cout似乎没有正确打印uint8_t类型的变量。

int main() {
    uint8_t var = 16;
    std::cout << "value: " << var << std::endl;
}

输出:

value: 

我对类似的uintX_t类型没有问题。

我知道我在这里遗漏了一些东西,但我无法弄清楚它是什么。

1 个答案:

答案 0 :(得分:1)

在大多数系统上,

uint8_t映射到unsigned char。结果,调用将16解释为不可打印字符的覆盖。添加转换为int以查看数值:

std::cout << "value: " << (int)var << std::endl;