標題:
單片機將一個32位長整型變量dat轉為字符串函數(shù),比如把1234轉為"1234"
[打印本頁]
作者:
51黑bing
時間:
2016-3-21 01:52
標題:
單片機將一個32位長整型變量dat轉為字符串函數(shù),比如把1234轉為"1234"
這個c語言寫的函數(shù)可以用在單片機系統(tǒng)里面:
/******************************************************************
功能:將一個32位長整型變量dat轉為字符串,比如把1234轉為"1234"
參數(shù):dat:待轉的long型的變量
str:指向字符數(shù)組的指針,轉換后的字節(jié)串放在其中
返回:轉換后的字符串長度
******************************************************************/
#if defined Send_Num||defined Send_StrNum
unsigned char Long_Str(long dat,unsigned char *str) // 長整型數(shù)轉換為字符串,返回值為轉換后的字符串長度
{
signed char i=0;
unsigned char len = 0;
unsigned char buf[11]; // 長整數(shù)最大值4294967295,轉ASCII碼后占用10+1=11字節(jié)
if (dat < 0) // 如果為負數(shù),首先取絕對值,并添加負號
{
dat = -dat;
*str++ = '-';
len++;
}
do
{ // 低位在前高位在后順序排列
buf[i++] = dat % 10+0x30; // C語言中數(shù)組下標固定從0開始
dat /= 10;
} while (dat > 0);
len += i; // i最后的值就是有效字符的個數(shù)
while (i-- > 0) // 高位在前低位在后順序排列
{
*str++ = buf[i] ;
}
*str = 0; // 添加字符串結束符方便使用KEIL自帶的字符串處理函數(shù)處理
return len; // 返回字符串長度
}
復制代碼
作者:
guozj
時間:
2016-8-23 12:03
看不懂啊 能寫個例子看看嗎
作者:
mashi2003
時間:
2020-3-2 09:54
很好,有用!值得學習。。。。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1