怎样将存储在数组里的16进制数 转化成相应的字符串呢?
例如 buff[3] = {0x00, 0x12, 0xfc}; 然后将buff里的值转化成字符串 “0012fc”.
程序代码:
#include<stdio.h> //h1 h2 均为16进制 输入格式eg:0x1234 //rets为返回串 由调用者分配内存 void hexcat(int h1,int h2,char *rets) { char tmp[16]={'\0'}; int i=0,j=0; while(h2>0) { if((h2%16)>9) tmp[i]=h2%16+0x37; else tmp[i]=h2%16+0x30; h2=h2/16; i++; } while(h1>0) { if((h1%16)>9) tmp[i]=h1%16+0x37; else tmp[i]=h1%16+0x30; h1=h1/16; i++; } i--; for(j=0;j<16;j++) { rets[j]=tmp[i]; i--; if(i<0) break; } } int main(void) { char s[16]={'\0'}; hexcat(0xa234,0xf678,s); printf("%s",s); return 0; }一段小代码 不知道是否正确