51单片机如何把整形数据转换成字符串
来源:网络收集 点击: 时间:2024-02-15在C语言库函数中,有一个sprintf函数,可以将变量格式化输出到一个缓冲区域,格式化字符串格则与printf类似,这个函数在stdio.h有声明,因此需要包含该h文件,详细测试代码如下:
#include stdio.h
void main(void){int num = 12345; //定义一个整数char strTemp;//定义一个字符串缓存
sprintf(strTemp, %d, num);//调用sprintf将num以十进制形式转换为字符串保存在strTemp数组中
while(1){
}}

确认代码录入OK后,点击编译按钮,编译成功!

点击菜单栏的“Debug”-“Start/Stop Debug Session”,或者按快捷组合键“Ctrl + F5”进入调试模式。

在调试模式的右下角有一组窗口,选择其中的“Locals”可以查看变量内容。

在未执行sprintf(strTemp, %d, num);前,strTemp数组各元素保存的值都是0

执行完sprintf(strTemp, %d, num);后,可以看到,原来都是0的strTemp数字保存了变量num的值12345,而且是字符形式,这表示我们的操作成功了!

上面的操作将num按十进制形式保存在strTemp中,同样,也可以用十六进制进行保存,比如可以这样写:
sprintf(strHex, %0x, num);
只需要更改格式化字符串的形式为%0x即可。
代码录入后,重新调试,可以看到对于num=12345,在strHex中保存的是3039。

通过windows自带的计算器可以知道十进制数12345的十六进制就是3039,操作成功!

注意sprintf使用%d形式存储的变量不能是char型,否则会导致存储错误!
51单片机KEIL转换版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_42170.html