如何将像0x0000这样的字符串转换为int

How to convert string like 0x0000 to int

本文关键字:字符串 转换 int 0x0000      更新时间:2023-10-16

如何将字符串如0x0000转换为整数??这段代码不起作用(函数函数总是返回0)。

String  str = "0xffff";
(unsigned int)atof(str);

除了c++的std::stoi,您还可以使用strtol(或strtoul for unsigned),它适用于C和c++:

int i = strtol(str, NULL, 0);

最后一个参数0表示自动选择基数为8,10或16,具体取决于字符串的外观。对于0x前缀,将使用16进制。对于0前缀,将使用进制8。

假设Stringstd::string,则可以使用std::stoi:

std::string str("0xffff", 0, 0);
int i = std::stoi(str);