找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5840|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)將一個(gè)32位長整型變量dat轉(zhuǎn)為字符串函數(shù),比如把1234轉(zhuǎn)為"1234"

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:109770 發(fā)表于 2016-3-21 01:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這個(gè)c語言寫的函數(shù)可以用在單片機(jī)系統(tǒng)里面:
  1. /******************************************************************
  2. 功能:將一個(gè)32位長整型變量dat轉(zhuǎn)為字符串,比如把1234轉(zhuǎn)為"1234"
  3. 參數(shù):dat:待轉(zhuǎn)的long型的變量
  4.       str:指向字符數(shù)組的指針,轉(zhuǎn)換后的字節(jié)串放在其中   
  5. 返回:轉(zhuǎn)換后的字符串長度                                
  6. ******************************************************************/
  7. #if defined Send_Num||defined Send_StrNum
  8. unsigned char Long_Str(long dat,unsigned char *str) // 長整型數(shù)轉(zhuǎn)換為字符串,返回值為轉(zhuǎn)換后的字符串長度
  9. {
  10.         signed char i=0;
  11.         unsigned char len = 0;
  12.         unsigned char buf[11];           // 長整數(shù)最大值4294967295,轉(zhuǎn)ASCII碼后占用10+1=11字節(jié)
  13.         if (dat < 0)               // 如果為負(fù)數(shù),首先取絕對值,并添加負(fù)號(hào)
  14.         {
  15.                 dat = -dat;
  16.                 *str++ = '-';
  17.                 len++;
  18.         }
  19.         do
  20.         {                               // 低位在前高位在后順序排列
  21.                 buf[i++] = dat % 10+0x30;        // C語言中數(shù)組下標(biāo)固定從0開始
  22.                 dat /= 10;
  23.         } while (dat > 0);
  24.     len += i;                 // i最后的值就是有效字符的個(gè)數(shù)
  25.     while (i-- > 0)           // 高位在前低位在后順序排列
  26.     {
  27.         *str++ = buf[i] ;
  28.     }     
  29.         *str = 0;                 // 添加字符串結(jié)束符方便使用KEIL自帶的字符串處理函數(shù)處理
  30.         return len;               // 返回字符串長度
  31. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:137379 發(fā)表于 2016-8-23 12:03 | 只看該作者
看不懂啊 能寫個(gè)例子看看嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:497224 發(fā)表于 2020-3-2 09:54 | 只看該作者
很好,有用!值得學(xué)習(xí)。。。。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表