C语言函数:将十六进制数转换为字符串 - 无需库函数
#include <stdio.h>
void intToHexStr(int num, char* str) { int i = 0; int temp;
// 将每一位的十六进制数转换为对应的字符
while (num != 0) {
temp = num % 16;
if (temp < 10) {
str[i] = temp + '0';
} else {
str[i] = temp - 10 + 'A';
}
num = num / 16;
i++;
}
// 反转字符串
int length = i;
for (int j = 0; j < length / 2; j++) {
char temp = str[j];
str[j] = str[length - j - 1];
str[length - j - 1] = temp;
}
// 添加字符串结束符
str[length] = '\0';
}
int main() { int num = 0x15; char str[10];
intToHexStr(num, str);
printf("%s\n", str);
return 0;
}
这个函数将一个整数转换为十六进制字符串。它通过不断地对整数进行除以16的取余操作,将每一位的十六进制数转换为对应的字符。然后,它反转字符串的顺序,将其变为正确的顺序。最后,它在字符串的末尾添加了一个结束符'\0'。
运行此程序将输出字符串"15"。
原文地址: https://www.cveoy.top/t/topic/pYj1 著作权归作者所有。请勿转载和采集!