欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6198|回復: 7
打印 上一主題 下一主題
收起左側

keil C語言可以直接使用itoa函數把整數型轉換為字符串類型嗎?

[復制鏈接]
跳轉到指定樓層
樓主
ID:796670 發表于 2020-11-30 08:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問如何把一個整數型轉換為字符串類型?
比如把十六進制的a=0x1A轉換為字符串類型的b="26",該如何轉換?可以直接用itoa函數嗎?還是說要自己寫一個函數?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:277550 發表于 2020-11-30 09:28 | 只看該作者
預先知道值范圍,

unsigned char ss[2];
unsigned char a=0x1A;

ss[0]=(a/10)+'0';
ss[1]=(a%10)+'0';
回復

使用道具 舉報

板凳
ID:568565 發表于 2020-11-30 09:39 | 只看該作者
如果只是單個十進制轉字符串,使用sprintf函數就可以了。
如果是十進制數組:
u16 DectoStr (u8 *pSrc, u16 SrcLen, u8 *pObj)
{
    u16 i=0;

    for(i=0;    i<SrcLen;   i++)
    {
        sprintf((char *)(pObj + i * 2), "%02d", *(pSrc + i));
    }
    *(pObj + i * 2) = '\0';
    return  (i * 2);
}
回復

使用道具 舉報

地板
ID:592807 發表于 2020-11-30 09:44 | 只看該作者
#include <stdio.h>
u8 a= 0x1a;
u8 buff[100];
sprintf(buff,“b = %s”,a);
/*
int sprintf( char *buffer, const char *format, [ argument] … );

這個函數包含三個部分的參數:

buffer:char型指針,指向將要寫入的字符串的緩沖區。format:格式化字符串。即可選參數的想要輸入的數據類型。[argument]...:可選參數,可以是任何類型的數據。
*/
回復

使用道具 舉報

5#
ID:851519 發表于 2020-11-30 09:47 | 只看該作者
sprintf(b,"%d",a);
回復

使用道具 舉報

6#
ID:822755 發表于 2020-11-30 10:33 | 只看該作者
keil C51沒有itoa庫函數,要自己實現或用sprintf實現
回復

使用道具 舉報

7#
ID:796670 發表于 2020-11-30 14:12 | 只看該作者
devcang 發表于 2020-11-30 09:28
預先知道值范圍,

unsigned char ss[2];

謝謝,非常感謝
回復

使用道具 舉報

8#
ID:796670 發表于 2020-11-30 14:13 | 只看該作者
黃youhui 發表于 2020-11-30 09:44
#include
u8 a= 0x1a;
u8 buff[100];

謝謝,感謝指點
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表