C语言将十六进制字符串转换为十六进制数组
时间: 2023-09-09 19:10:04 浏览: 218
十六进制与字符串转换
可以使用C语言的`sscanf()`函数将十六进制字符串转换为十六进制数组。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char hex_str[] = "DEADBEEF";
int hex_array[4];
for (int i = 0; i < strlen(hex_str); i += 8) {
sscanf(hex_str + i, "%8X", &hex_array[i/8]);
}
for (int i = 0; i < 4; i++) {
printf("%X ", hex_array[i]);
}
return 0;
}
```
上面的示例代码将十六进制字符串"DEADBEEF"转换为一个包含4个十六进制数的数组。首先,在`for`循环中,每次从字符串中截取8个字符,并使用`sscanf()`函数将它们转换为一个十六进制数,并将其存储在数组中。最后,使用另一个`for`循环打印数组中的值。
阅读全文