C语言函数:将十六进制数转换为字符串
#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n\nchar* hexToString(int num) {\n char* str = (char*) malloc(3 * sizeof(char)); // 分配3个字符的空间,包括两个数字和一个结束符'\0'\n if (str == NULL) {\n printf("内存分配失败\n");\n exit(1);\n }\n \n sprintf(str, "%02X", num); // 将十六进制数转换为字符串形式\n \n return str;\n}\n\nint main() {\n int num = 0x15;\n char* str = hexToString(num);\n \n printf("%s\n", str); // 输出结果为"15"\n \n free(str); // 释放内存\n \n return 0;\n}\n\n该函数使用sprintf函数将十六进制数转换为两位的十六进制字符串。然后,将字符串分配给动态分配的内存,并返回字符串指针。在主函数中,我们将0x15作为参数传递给函数,并将返回的字符串打印出来。最后,记得释放动态分配的内存以避免内存泄漏。
原文地址: http://www.cveoy.top/t/topic/pYjZ 著作权归作者所有。请勿转载和采集!