c51interrupt函数_printf返回值

c51interrupt函数_printf返回值C51中的sprintf()函数使用目录一、函数作用二、输出内容的格式化处理1.输出变量的类型2.输出变量的位数小数:整数:16 进制:在做蓝桥杯第五届国赛试题的时候&#

C51中的sprintf()函数使用   目录   一、函数作用   二、输出内容的格式化处理   1.输出变量的类型   2.输出变量的位数   小数:   整数:   16 进制:   在做蓝桥杯第五届国赛试题的时候,遇到这样一个问题:题目要求单片机通过串口返回电脑一组数据,包括温度、湿度、时间等,数据很多问且中间有大括号等符号做间隔,如果一个字符一个字符的分开重新定义,发送的话就非常麻烦。通过上网学习,发现了一个非常有效的办法:sprintf()函数来实现。但是,在C51中的sprintf函数与标准C语言中有所差别,注意区分。经过上网查阅资料,特此总结一下。   首先,用这个函数的时候,前面要加上这个头文件:#include <stdio.h>   一、函数作用   sprintf() 是格式化输出函数,保存字符串到缓冲区中,起到拼接字符串的作用。   函数介绍:   int sprintf(char *str, const char *format, …);   参数:     str: 数据缓冲区,通常是一个字符串数组   format:输出的内容   举个例子:   int a = 10;   char buf[100] = {0};   sprintf(buf,”a = %d   ”,a);   作用:将a的值放置到%d的位置,然后”a = 10   ”这句话保存到数组buf中。   说明:函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符数组,用来存储字符串),起到拼接字符串的作用。   又例如:   sprintf(s, “%d”, 123); //产生”123″  把整数123 打印成一个字符串保存在s 中。   二、输出内容的格式化处理   对于输出的内容,还要对他进行格式化的处理,也就是上面例子中双引号内的部分。   1.输出变量的类型   b 表示字节数据;   bd 表示 8 位有符号整数(256)(KEIL里扩展出了b,h,l来对输入字节宽的设置:b八位(256);h十六位(65535);l三十二位);   bu 表示 8 位无符号整数;   bx 表示 8 位十六进制整数;   小数用f表示。   2.输出变量的位数   小数:   自己控制打印的宽度和小数位数,这时就应该使用:“%m.nf”格式,其中m表示打印内容的总宽度,字符串长度不足时补空格,超出了则按照实际宽度打印;n表示小数点后的位数,也就是从相应的字符串中最多取用的字符数。比如:   整数:   也是使用:“%m.nf”格式。m.n  m:打印内容的总宽度,字符串长度不足时补空格,超出了则对于输出整数:按照实际宽度打印;n: 总共输出几位整数,位数不够在前面加0,超出位数输出原数。   测试结果:   0.2  0.2  0.2   三个变量都是两位数,不够前面加0   0.1  0.2  0.3   {23-59-059} {0-00-000} 第一个一位数,第二个两位数,第三个三位数;不够三位数前面补零;超过一位数输出原数   0.3  0.2  0.1   {023-59-59} {000-00-0} 第一个三位数,第二个两位数,第三个一位数;不够三位数前面补零;超过一位数输出原数   由此可见,n:总共输出几位整数,位数不够在前面加0;超过位数输出原数   2.2  2.2  2.2   {23-59-59}  {00-00-00} 三个变量都是两位数,不够前面加0   3.2  3.2  3.2   { 23- 59- 59} { 00- 00- 00} 字符串长度不足时补空格,超出了则按照实际宽度打印 16 进制:   参考:   sprintf %m.ns %m.nf_mydriverc2的博客-CSDN博客_sprintf ”%m.nf”

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/74384.html

(0)
上一篇 2024年 8月 5日 下午12:43
下一篇 2024年 8月 5日 下午12:51

相关推荐

关注微信