随笔 - 733  文章 - 2  评论 - 12  阅读 - 92万

unsigned char 转字符串:

通常送显示的都是字符串,对于int long float转字符串有对应的函数,还有sprintf进行格式输出,对于嵌入式和单片机大多都用unsigned char型变量,转字符串需要自己编写函数,需要自己编写函数,一下是网上人写的一个函数。

 

unsigned char Dec2Asc(unsigned char input, char* output )
{
unsigned char ucLen;
unsigned char ucDiv;

//判断有效数字最高位
for ( ucDiv = 100; 1 < ucDiv; ucDiv /= 10 ){
if ( input / ucDiv ){
break;
}
}

//从有效数字最高位开始输出
for ( ucLen = 0 ; ucDiv; ucDiv /= 10 ){
*(output + ucLen) = input / ucDiv % 10 + 0x30;
ucLen++;
}

return ucLen;
}
或者

typedef unsigned char BYTE;
BYTE * ByteToStr(BYTE input,char *output)
{
BYTE len = 0;
if (input > 99)
{
*(output + len) = input/100 + '0';
input %= 100;
len++;
}
if (input > 9)
{
*(output + len) = input/10 + '0';
input %= 10;
len++;
}
if (input < 10)
{
*(output + len) = input + '0';
len++;
}
return len;
}

posted on   杰瑞鼠  阅读(8331)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2015-05-04 c语言-枚举
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示