ASCII字符到整数

时间:2018-03-13 16:09:49

标签: c hex

我有一个char数组,其十六进制数字存储为'0' 'x' '3' '2'

或者在C:

char * hex = "0x32";

0x322的ascii代码。我不想使用任何函数,但如何将值2存储为整数?

所以最后我会:

int dec = 2;

1 个答案:

答案 0 :(得分:1)

int dec = (int)strtol(hex, NULL, 16) - '0';

是单向的,完全可移植。您可能想要考虑不传递NULL,因此您可以验证hex的内容。

如果您不想使用任何功能(?!),请填写C标准库strtol版本的源代码。