Number是一个字符串==“0x1388”,dec为5000。我不知道如何将这个十六进制字符串转换为int值== 0x1388;有帮助吗?并提前感谢。
value = strtol (number.c_str(),NULL, number.size());
答案 0 :(得分:0)
第三个参数是您要转换的数字的基数。在您的情况下,数字是基数16(十六进制),因此您应该传递16
作为第三个参数。您也可以传递0
,这将让函数从前缀0x
中确定基数。
答案 1 :(得分:0)
修复第三个参数
value = strtol (number.c_str(),NULL, 16);
^^ Base of hexadecimal number