1、定义int sprintf(char *str, const char *format, ...)

        1、paras:*str:目标字符串首指针

 *format:要写入目标字符串的数据

...:写入目标字符串数据中被转换的变量

        2、对于*format的说明:

属性:%[flags][width][.precision][length]specifier

举例:3.1f       浮点型,宽度为3,保留一位小数

详见参考:C 库函数 - sprintf()

        3、使用例:

float x = 3.141;
unsigned char buffer[10]
sprintf(buffer, "x= %3.1f", x);

结果:>>"x=     3.1"

2、union的作用:

惭愧没好好学C语言,只知道struct,看到union顿时陌生,不过短暂了解以后发现union在很多地方都相当常用

1、union和struct类似在于,都是不同数据类型的数据的集合,不同在于,struct中的每个成员都单独分配有存储空间,而union的成员则共享存储空间,union所占的存储空间由其中最长的成员决定,当对union的一个成员赋值时,这个空间就写入这么一个值,而原先的值就会被覆盖

2、union的应用很多,尤其对于当需要将数据拆分存储时,会用到union,例如:

union flo_to_ch
{
float f_num;
unsigned char u_num[4];
}; union flo_to_ch temperature; write_eeprom(0,temperature.u_num[0]);i2c_delay(200);i2c_delay(200);
write_eeprom(1,temperature.u_num[1]);i2c_delay(200);i2c_delay(200);
write_eeprom(2,temperature.u_num[2]);i2c_delay(200);i2c_delay(200);
write_eeprom(3,temperature.u_num[3]);i2c_delay(200);i2c_delay(200);

通过union将float型拆分成了长度为4的char型数组,节省空间的同时确保了代码的简洁

【相关杂项】stdio.h中的sprintf函数/union的作用的更多相关文章

  1. 走进C标准库(2)——"stdio.h"中的fopen函数

    其他的库文件看起来没有什么实现层面的知识可以探究的,所以,直接来看stdio.h. 1.茶余饭后的杂谈,有趣的历史 在过去的几十年中,独立于设备的输入输出模型得到了飞速的发展,标准C从这个改善的模型中 ...

  2. C语言中头文件<stdio.h>中的#ifndef _STDIO_H_

    先了解这里的相关知识:http://www.cnblogs.com/stemon/p/4000468.html 头文件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都in ...

  3. 走进C标准库(5)——"stdio.h"中的其他部分函数

    函数介绍来自:http://ganquan.info/standard-c/ 函数名: freopen 功  能: 替换一个流 用  法: FILE *freopen(char *filename, ...

  4. 走进C标准库(3)——"stdio.h"中的getc和ungetc

    接前文. 再来看看getc和ungetc的实现.在看这两个函数的实现之前,我们先来想一想这两个函数分别需要做的工作. int getc(FILE *stream) 说明:函数getc从stream指向 ...

  5. C++中对sprintf()函数的说明(转)

    在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出 ...

  6. 走进C标准库(4)——"stdio.h"中的putc

    花了点时间把园子弄得好看了点,现在继续. 函数名: putc 功  能: 输出一字符到指定流中 用  法: int putc(int ch, FILE *stream); #define _putc_ ...

  7. C语言string.h中常用字符函数介绍

    原文:http://www.cnblogs.com/xuwenmin888/archive/2013/05/03/3057883.html strcpy 函数名: strcpy 功 能: 拷贝一个字符 ...

  8. C语言中math.h中常用的函数

    1.绝对值 ①函数原型: int abs(int x); 函数功能: 求整数x的绝对值 int number=-1234; abs(number); ②函数原型:double fabs(double ...

  9. math。h中的log函数的应用

    以10为底的log函数: 形式为 double  log10(double  x) 以e为底的log函数(即 ln)double log (double x) 如何表达log 以a为底b的对数: 用换 ...

  10. makefile中的patsubst函数有何作用?

    答:这是个模式替换函数,格式为: $(patsubst <pattern>,<replacement>,<text>) 查找text中的单词,如果匹配pattern ...

随机推荐

  1. HJ92 在字符串中找出连续最长的数字串

    描述 输入一个字符串,返回其最长的数字子串,以及其长度.若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置) 本题含有多组样例输入. 输入描述: 输入一个字符串. 输出描述: 输出字符串中 ...

  2. 在nestjs中使用rabbitmq

    1.安装rabbitmq: docker run -dit --name myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_P ...

  3. Postman 测试 Web Service 和 WCF

    一.postman 测试web service(1)设置url http://www.oorsprong.org/websamples.countryinfo/countryinfoservice.w ...

  4. 在C#中Release与Debug的区别小案例

    我们都听说过C#写的代码 Release通常会比Debug性能要好一点跑得快一些. 先普及一些相关基础知识: (1)在CLR中将对sbyte.byte.short.ushort.int.uint.ch ...

  5. 3、app自动化:使用appium定位元素的方式及元素的常用操作

    前提: 没有的包,要先进行对应包的安装 如:pip install Appium-Python-Client 一.定位元素,包括属性定位和xpath定位方式 a\属性定位 属性 定位方式     示例 ...

  6. mysql 导入问题排查

    ERR] 2006 - MySQL server has gone away -- 查询最大数 show global variables like 'max_allowed_packet'; -- ...

  7. ESP_IDF中使用TFT_eSPI库驱动ST7789V

    前言: 想学习创建好看的菜单界面很久了,寒假在家正好有时间,手中恰好有一块ST7789的tft屏幕,正好拿来练练手. Step 1: 在github中找到TFT_eSPI库(网址:docs · mas ...

  8. Oracle View的 With Check OPTION 參數有什麼用途?

    1. 當通過View Insert數據到定義此View的SQL中的基本表的時候,insert的資料要符合SQL中here條件,否則Insert View 的操作無法成功: 2. 注意:WITH REA ...

  9. Eclipse创建maven-web项目时找不到archetype解决方法

    转:https://blog.csdn.net/sunjinjuan/article/details/82943488

  10. C#windows 服务 《转载》

    转自:https://blog.csdn.net/Code_May/article/details/123909870 c#应用Windows服务 背景 一.创建windows服务 1.创建windo ...