C语言中如何转换字符串为hex格式保存
可以使用sprintf函数将字符串转换为hex格式保存。具体方法如下:
-
定义一个字符数组,用于存放转换后的hex格式字符串。
-
使用sprintf函数将原字符串转换为hex格式字符串,并将结果保存在定义的字符数组中。
示例代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "hello world";
char hex_str[2 * strlen(str) + 1]; // 定义字符数组,长度为原字符串长度的两倍
int i;
// 将原字符串转换为hex格式字符串
for (i = 0; i < strlen(str); i++) {
sprintf(hex_str + 2*i, "%02X", str[i]); // 每个字符占两个位置,不足两位前面补0
}
printf("Original string: %s\n", str);
printf("Hex string: %s\n", hex_str);
return 0;
}
输出结果为:
Original string: hello world
Hex string: 68656C6C6F20776F726C64
注意:上述代码中使用了sprintf函数,该函数的第一个参数是目标字符串地址,第二个参数是格式化字符串,后面的参数是要转换的变量。在上述示例代码中,sprintf的第一个参数为hex_str + 2*i,表示每次将转换后的两个字符存放在hex_str数组中,从第0个位置开始。第二个参数"%02X"表示将变量转换为两位的16进制字符格式,不足两位前面补0。最后一个参数是要转换的变量,即原字符串中的每个字符。
原文地址: http://www.cveoy.top/t/topic/btzO 著作权归作者所有。请勿转载和采集!