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