帮我写个C语言函数可以将字符串112233转换为0x110x220x33
下面是一个将字符串"112233"转换为"0x11,0x22,0x33"的C语言函数:
#include <stdio.h>
#include <string.h>
void convertString(char* str) {
int len = strlen(str);
int i;
// 确保字符串长度为偶数
if (len % 2 != 0) {
printf("Invalid string length.\n");
return;
}
// 逐个转换字符并输出
for (i = 0; i < len; i += 2) {
char byte[3];
byte[0] = '0';
byte[1] = str[i];
byte[2] = str[i + 1];
// 将字符串转换为整数并输出为十六进制格式
int num = (int)strtol(byte, NULL, 16);
printf("0x%02X", num);
// 最后一个元素后不输出逗号
if (i < len - 2) {
printf(",");
}
}
printf("\n");
}
int main() {
char str[] = "112233";
convertString(str);
return 0;
}
此函数通过循环遍历字符串中的字符,每两个字符构成一个字节,并将其转换为十六进制格式输出。最后一个元素后不输出逗号
原文地址: http://www.cveoy.top/t/topic/iy9a 著作权归作者所有。请勿转载和采集!