sscanf
#include <stdio.h>
#include <stdint.h>
int main()
{
char *a = "11ff111";
uint8_t l, m, n, p;
/* %hhd表示8位数据,%hd表示16位数据,%d表示32位数据,
同理 %hhx %hx %x*/
sscanf(a, "%02hhd%02hhx%02hhd%hhd", &l, &m, &n, &p);
printf("%d, 0x%x, %d, %d \n", l, m, n, p);
return 0;
}