有没有直接把字符串转成16进制整数的函数呢?

sscanf(s, "%x", &hex_val);
sprintf(buf, "0x%x", hex_val);