C语言将string转hex
时间: 2023-09-06 11:08:11 浏览: 182
struct-to-hexstring-converter:用C ++工具将结构转换为十六进制格式的字符串并返回
在C语言中将字符串转换为16进制可以使用以下函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void str2hex(const char* str, char* hex) {
int len = strlen(str);
int i;
for (i = 0; i < len; i++) {
sprintf(hex + (i * 2), "%02X", str[i]);
}
}
```
这个函数接收两个参数:一个是原始字符串,另一个是转换后的16进制字符串。它使用 sprintf 函数将每个字符转换为16进制,并将结果存储在 hex 字符串中。
以下是使用该函数的示例代码:
```c
int main() {
const char* str = "hello world";
char hex[2*strlen(str)+1];
str2hex(str, hex);
printf("%s\n", hex);
return 0;
}
```
输出结果为:
```
68656C6C6F20776F726C64
```
这就是将字符串 "hello world" 转换为16进制的结果。
阅读全文