将一个十进制数转换成16进制数组成的字符串由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“16进制数转换成字符”。
函数dtoh实现将参数num的值表示为一个十六进制形式的字符串,并将该字符串存储在一个动态申请的存储区内,函数返回动态存储区的起始地址。
#include #include char *dtoh(unsigned int num){
char digits[]=“0123456789abcdef”;char *s;int n=0;unsigned int un=num;while(un){
n++;
un/=16;
} s=(char*)malloc((n+1)*sizeof(char));if(s==NULL){
printf(“Memory request failed!n”);
exit(1);} s[n--]=' ';while(num){
s[n--]=digits[num%16];
/*取一位十六进制数字字符*/
num/=16;} return s;} void main(){
char *p;unsigned int n;scanf(“%u”,&n);p=dtoh(n);printf(“%s”,p);free(p);
getchar();}(注意关心其中的核心程序)