c语言16进制的字符串转16进制数组
时间: 2023-10-17 07:34:16 浏览: 121
你可以使用 sscanf 函数将16进制的字符串转换为16进制数组。以下是一个示例代码:
```c
#include <stdio.h>
void hexStringToHexArray(const char* hexString, unsigned char* hexArray, int arrayLength) {
int i;
for (i = 0; i < arrayLength; i++) {
sscanfString + 2*i, "%2hhx", &hexArray[i]);
}
}
int main() {
const char* hexString = "A1B2C3D4E5F6";
int arrayLength = 6; // 数组长度,这里假设为6
unsigned char hexArray[arrayLength];
hexStringToHexArray(hexString, hexArray, arrayLength);
int i;
for (i = 0; i < arrayLength; i++) {
printf("%02X ", hexArray[i]); // 打印数组中的元素
}
return 0;
}
```
这个示例代码将字符串 "A1B2C3D4E5F6" 转换为一个长度为6的16进制数组,并打印出数组中的元素。输出结果为:A1 B2 C3 D4 E5 F6。你可以根据实际需要修改数组长度和输入字符串。
阅读全文