Behavior of cout << hex with uint8 and uint16

后端 未结 3 1573
刺人心
刺人心 2021-02-15 00:19

I\'m noticing that cout << hex is giving me strange results, and I cannot find anywhere that answers why. What I am doing is simply assigning some values to

3条回答
  •  无人及你
    2021-02-15 00:34

    uint8_t is an alias for unsigned char. You're essentially printing a character with the value 0xab, which might be an invalid character depending on your encoding.

    This would be solvable by casting it to another integer type, converting its value to a string in advance or writing some sort of a wrapper class that implements std::ostream& operator<<(std::ostream&, const ClassName&).

提交回复
热议问题