使用printf输出十六进制
printf("%.2x",...);
使用std::cout输出十六进制且同上格式
std::cout<< std::hex << std::setfill('0') << std::setw(2) << ...
std::hex 十六进制
std::setfill 空白位填充
std::setw 设置最小宽度
示例:
char buf[3] = { 31,99,2 };
for (int i = 0; i < 3; i++)
std::cout << std::hex << std::setfill('0') << std::setw(2) << (unsigned int)buf[i] << std::endl;