拆分一个字符串并将各个部分转换为十六进制

Ran*_*ser 0 c string hex strtol

我有一个像"03FE"保持十六进制值的字符串.我需要将这个字符串分成两部分,并将每个部分转换为等效的十六进制.

也就是说,我需要0x03一个变量和0xFE另一个变量.

例如,如果我不必拆分字符串,我就是这样做的:

 char *p;
 uint32_t uv=0;
 uv=strtoul(&string_to_convert, &p, 16);
Run Code Online (Sandbox Code Playgroud)

如果我需要拆分字符串,我该怎么办?

bar*_*nos 5

拆分输出strtoul:

uint8_t uv_hi = uv >> 8;
uint8_t uv_lo = uv & 0xFF;
Run Code Online (Sandbox Code Playgroud)