C语言字符串十六进制转HEX
时间: 2023-06-13 14:06:46 浏览: 172
16进制字符串转换DWORDToHexString
4星 · 用户满意度95%
C语言中字符串十六进制转换为HEX可以使用以下函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char hex_string[] = "DEADBEEF"; // 十六进制字符串
int hex_len = strlen(hex_string); // 获取字符串长度
unsigned char *hex = (unsigned char *)malloc(hex_len / 2); // 分配空间
int i, j;
// 将字符串中的十六进制数转换为HEX
for (i = 0, j = 0; i < hex_len; i += 2, j++) {
sscanf(hex_string + i, "%2hhx", &hex[j]);
}
// 输出HEX
for (i = 0; i < hex_len / 2; i++) {
printf("%02X", hex[i]);
}
free(hex); // 释放空间
return 0;
}
```
这里使用了 `sscanf` 函数将十六进制数转换为HEX,输出时使用了 `%02X` 格式化输出。
阅读全文