如何将字符串像0x0000转换为整数??? 此代码不起作用(Func atof始终返回0)。
String str = "0xffff";
(unsigned int)atof(str);
答案 0 :(得分:4)
除了C ++ std::stoi
之外,您还可以使用适用于C和C ++的strtol
(或strtoul
表示无符号):
int i = strtol(str, NULL, 0);
最后一个参数0表示自动选择base为8,10或16,具体取决于字符串的外观。对于0x
前缀,将使用base 16。对于0
前缀,将使用base 8。对于其他小数,尝试使用基数10.
答案 1 :(得分:3)
假设String
为std::string
,您可以使用std::stoi:
std::string str("0xffff", 0, 0);
int i = std::stoi(str);