我只想知道如何将 char(字节)中包含的十六进制值转换为整数。我想从 .bmp 文件转换颜色缓冲区,该文件当然是十六进制的,并将其转换为整数。
例如 :
char rgb_hexa[3] = {0xA8, 0xF4, 0xD3};
转换后:
int rgb_int[3] = {168, 244, 211};
我一直尝试使用 strtol,但它似乎只适用于 char *。我尝试进行以下测试,但它不起作用:
char src_hexa_red = 0xA8;
char src_hexa_green = 0xF4;
char src_hexa_blue = 0xD3;
std::cout << "R=" << strtol(&src_hexa_red, (char**)NULL, 16) << ", G="
<< strtol(&src_hexa_green, (char**)NULL, 16) << ", B="
<< strtol(&src_hexa_blue, (char**)NULL, 16) << std::endl;
有人可以帮助我吗?在此先感谢您的帮助。