我有一个 char[],其中包含诸如“0x1800785”之类的值,但我想要为其提供该值的函数需要一个 int,如何将其转换为 int?我四处搜寻但找不到答案。谢谢。
最佳答案
你尝试过strtol()
吗?
strtol - convert string to a long integer
示例:
const char *hexstring = "abcdef0";
int number = (int)strtol(hexstring, NULL, 16);
如果数字的字符串表示形式以 0x
前缀开头,则必须应使用 0 作为基数:
const char *hexstring = "0xabcdef0";
int number = (int)strtol(hexstring, NULL, 0);
(也可以指定显式基数,例如 16,但我不建议引入冗余。)
关于将十六进制字符串(char[])转换为int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54623054/