标题:
单片机将一个32位长整型变量dat转为字符串函数,比如把1234转为"1234"
[打印本页]
作者:
51黑bing
时间:
2016-3-21 01:52
标题:
单片机将一个32位长整型变量dat转为字符串函数,比如把1234转为"1234"
这个c语言写的函数可以用在单片机系统里面:
/******************************************************************
功能:将一个32位长整型变量dat转为字符串,比如把1234转为"1234"
参数:dat:待转的long型的变量
str:指向字符数组的指针,转换后的字节串放在其中
返回:转换后的字符串长度
******************************************************************/
#if defined Send_Num||defined Send_StrNum
unsigned char Long_Str(long dat,unsigned char *str) // 长整型数转换为字符串,返回值为转换后的字符串长度
{
signed char i=0;
unsigned char len = 0;
unsigned char buf[11]; // 长整数最大值4294967295,转ASCII码后占用10+1=11字节
if (dat < 0) // 如果为负数,首先取绝对值,并添加负号
{
dat = -dat;
*str++ = '-';
len++;
}
do
{ // 低位在前高位在后顺序排列
buf[i++] = dat % 10+0x30; // C语言中数组下标固定从0开始
dat /= 10;
} while (dat > 0);
len += i; // i最后的值就是有效字符的个数
while (i-- > 0) // 高位在前低位在后顺序排列
{
*str++ = buf[i] ;
}
*str = 0; // 添加字符串结束符方便使用KEIL自带的字符串处理函数处理
return len; // 返回字符串长度
}
复制代码
作者:
guozj
时间:
2016-8-23 12:03
看不懂啊 能写个例子看看吗
作者:
mashi2003
时间:
2020-3-2 09:54
很好,有用!值得学习。。。。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1