将十进制整数转换为十六进制字符串
1.法一
void itohex(int n, char* str)
{
char tab[] = "0123456789ABCDEF";
char tmp[8];
int i = 0, j = 2;
str[0] = '0';
str[1] = 'x';
do
{
tmp[i++] = tab[n%16];
n /= 16;
} while (n > 0);
while (i >= 0)
{
str[j++] = tmp[--i];
}
str[j] = '\0';
}