哪位大侠帮我看下程序
时间:10-02
整理:3721RD
点击:
** 函数名:u32tostr
** 功能描述: 将一个32位的变量dat转为字符串,比如把1234转为"1234"
** 输入参数: dat:带转的long型的变量
str:指向字符数组的指针,转换后的字节串放在其中
** 输出参数: 无
***********************************************************/
void u32tostr(unsigned long dat,char *str)
{
char temp[20];
unsigned char i=0,j=0;
i=0;
while(dat)
{
temp[i]=dat%10+0x30;
i++;
dat/=10;
}
j=i;
for(i=0;i<j;i++)
{
str[i]=temp[j-i-1];
}
if(!i) {str[i++]='0';}
str[i]=0;
}
///第6行为什么加0x30,,,谢谢指点
** 功能描述: 将一个32位的变量dat转为字符串,比如把1234转为"1234"
** 输入参数: dat:带转的long型的变量
str:指向字符数组的指针,转换后的字节串放在其中
** 输出参数: 无
***********************************************************/
void u32tostr(unsigned long dat,char *str)
{
char temp[20];
unsigned char i=0,j=0;
i=0;
while(dat)
{
temp[i]=dat%10+0x30;
i++;
dat/=10;
}
j=i;
for(i=0;i<j;i++)
{
str[i]=temp[j-i-1];
}
if(!i) {str[i++]='0';}
str[i]=0;
}
///第6行为什么加0x30,,,谢谢指点
0到9在ASCII码表内的值是0x30到0x39
假设将1转换成字符“1”,实际就是把数字1转换成数字0x31,同理其他数字也是这样