長整型數(shù)轉換為字符串,str-字符串指針,dat-待轉換數(shù),返回值-字符串長度len++的...
其中l(wèi)en++有什么用為什么必須有
len += i;和len++最終的值一樣嗎
v>unsigned char LongToString(unsigned char *str, signed long dat)
{
signed char i = 0;
unsigned char len = 0;
unsigned char buf[12];
if (dat < 0) //如果為負數(shù),首先取絕對值,并在指針上添加負號
{
dat = -dat;
*str++ = '-';
len++;
}
do { //先轉換為低位在前的十進制數(shù)組
buf[i++] = dat % 10;
dat /= 10;
} while (dat > 0);
len += i; //i 最后的值就是有效字符的個數(shù)
while (i-- > 0) //將數(shù)組值轉換為 ASCII 碼反向拷貝到接收指針上
{
*str++ = buf[ i] + '0';
}
*str = '\0'; //添加字符串結束符
return len; //返回字符串長度
}
|