|
這個(gè)c語言寫的函數(shù)可以用在單片機(jī)系統(tǒng)里面:
- /******************************************************************
- 功能:將一個(gè)32位長整型變量dat轉(zhuǎn)為字符串,比如把1234轉(zhuǎn)為"1234"
- 參數(shù):dat:待轉(zhuǎn)的long型的變量
- str:指向字符數(shù)組的指針,轉(zhuǎn)換后的字節(jié)串放在其中
- 返回:轉(zhuǎn)換后的字符串長度
- ******************************************************************/
- #if defined Send_Num||defined Send_StrNum
- unsigned char Long_Str(long dat,unsigned char *str) // 長整型數(shù)轉(zhuǎn)換為字符串,返回值為轉(zhuǎn)換后的字符串長度
- {
- signed char i=0;
- unsigned char len = 0;
- unsigned char buf[11]; // 長整數(shù)最大值4294967295,轉(zhuǎn)ASCII碼后占用10+1=11字節(jié)
- if (dat < 0) // 如果為負(fù)數(shù),首先取絕對值,并添加負(fù)號(hào)
- {
- dat = -dat;
- *str++ = '-';
- len++;
- }
- do
- { // 低位在前高位在后順序排列
- buf[i++] = dat % 10+0x30; // C語言中數(shù)組下標(biāo)固定從0開始
- dat /= 10;
- } while (dat > 0);
- len += i; // i最后的值就是有效字符的個(gè)數(shù)
- while (i-- > 0) // 高位在前低位在后順序排列
- {
- *str++ = buf[i] ;
- }
- *str = 0; // 添加字符串結(jié)束符方便使用KEIL自帶的字符串處理函數(shù)處理
- return len; // 返回字符串長度
- }
復(fù)制代碼
|
|