String to Hex:
uint32_t strHex(char *str, char **end)
{
uint32_t hex = 0;
// Accept leading 0x
if (str[0] == '0' && str[1] == 'x')
str += 2;
while (*str) {
if (*str >= '0' && *str <= '9') {
hex <<= 4;
hex += (*str - '0');
}
else if (*str >= 'a' && *str <= 'f') {
hex <<= 4;
hex += 0xa + (*str - 'a');
}
else if (*str >= 'A' && *str <= 'F') {
hex <<= 4;
hex += 0xa + (*str - 'A');
}
else {
*end = str;
return hex;
}
str++;
}
*end = str;
return hex;
}
本文介绍了一个用于将十六进制格式的字符串转换为整数的C语言函数。该函数能够处理包含前缀0x的输入,并支持大小写字母A到F的识别。

被折叠的 条评论
为什么被折叠?



