如何将小数和字符串结合在一起

  • 问题
  • 用到的知识
    • 字符串拼接
    • C 字符串函数 sprintf()
  • 实现功能
  • 后续

问题

我们在平时的开发中,经常会遇到,想将小数或者整数和字符串结合在一起,然后使用或者输出。尤其在单片机或者嵌入式中,我们常常会遇到这种问题。比如,我们通过传感器获取到了温湿度,想要将他们上传到云平台或者服务器。但你是通过json字符串上传到云平台或者服务器的,你想要上传温湿度,还需要加上云平台必要的一些信息。 那么怎么将这些小数和字符串结合起来上传呢。下面我们来解决这类问题。

用到的知识

字符串拼接

在C语言中,将两个字符串拼接成一个,我们可以创建一个新的字符串,然后将第一个字符串复制给他,再把第二个字符串粘在他的后面。

需要定义一些头文件

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

具体实现

char IOT[6]="公众号";//第一个字符串
char knowledge[10]="物联网知识";//第二个字符串
char* ba=malloc(strlen(IOT)+strlen(knowledge)+1);//定义一个新的字符串,大小为前两个字符串的大小之和
strcpy(ba,IOT);//将字符串IOT复制到ba中
strcat(ba,knowledge);//将knowledge粘在ba后,然后形成新的ba,这个ba就是另外两个字符串的结合

C 字符串函数 sprintf()

在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。
由于 sprintf 跟 printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。
printf的格式控制串中既然可以插入各种东西,并最终把它们“连成一串”,自然也就能够连接字符串,从而在许多场合可以替代 strcat,但 sprintf 能够一次连接多个字符串(自然也可以同时在它们中间插入别的内容,总之非常灵活)。比如:

char *跋扈 = "公众号:";
char *洋 = "物联网知识";
sprintf(s, "%s : %s.", who, whom); // 产生:"公众号:物联网知识 "

实现功能

为了能够对上述知识点更加了解,我们将两种方式结合起来实现我们的功能(其实用其中一个就可以实现,这里只是为了结合起来两种知识)。

         float humi=1.21char bufDa[18]={0};sprintf(bufDa,"%0.2f",humi);char* load ="{humi:}";char* payload=malloc(strlen(bufDa)+strlen(load)+1);;strcpy(payload,load);strcat(payload,bufDa);    

此时变量payload中就是存放着:humi:1.21

后续

可以关注我的程序设计专栏。
关注微信公众号

编写不易,感谢支持。

C语言中如何将小数或整数和字符串合二为一相关推荐

  1. c语言双精度小数点后取几位_c语言中怎么保留小数2位

    在c语言中让一个数保留2位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成.其准确含义依赖于它所修饰的数据类型.示例如下:#include <stdio.h>int ma ...

  2. 谈谈你对c语言中数据(各种常量,变量,函数参数,字符串)的存储认识,自考《高级语言程序设计》知识点总结(二)...

    2.1 C语言的数据类型 数据类型包含两方面的内容:数据的表示和对数据加工的操作.数据的全部可能表示构成数据类型的值的集合.数据全部合理的操作构成数据类型的操作集合. 在C语言中,把整型.实型和字符型 ...

  3. 在C语言中如何高效地复制和连接字符串?

    就目前而言,在编程领域中,C语言的运用非常之多,它兼顾了高级语言的汇编语言的优点,相较于其它编程语言具有较大优势. 作者 | Martin Sebor 译者 | 苏本如,责编 | 刘静 出品 | CS ...

  4. c语言中输入字符转换成整数,c语言数字字符串转换成整数 C语言中如何将数字变成字符串啊?...

    C语言:把数字字符串转换成整型数字不懂时,别乱说:懂得时,别多说:心乱时,慢慢说:没话时,就别说. 运行环境:TC2. 把数字字符串转换成整型数字.比如说小编输入一个数字字符当你年轻时,你以为什么都有 ...

  5. c语言中要求对象只能为整数的运算符是,以下正确的叙述是( ) 答案:在C程序中, %是只能用于整数运算 的运算符...

    相关问题 : 以下,数组,选项, 中,方式,课件,交互,超链接,动作, 以下,疾病,女性,糖尿病, : 以下,品牌,精神,价值,核心,宣传语,海澜之家,一年,海澜之家, 排气,再循环,系统,功用,作用 ...

  6. C语言中如何使用宏连接多个字符串(#和##的用法)

    最近在编写一个项目的代码时,需要在宏定义中连接多个字符串,具体来说就是,先定义一个软件版本号,然后再定义一个硬件版本号, 然后再将他们拼合起来生成一个综合版本号.这些动作我都希望在宏定义中直接完成,提 ...

  7. C语言:进制转换(整数、字符串)

    本文重点:常见的整型.字符串进制转换(略有不同) 参考书籍:<算法笔记> 1.int型进制转换 1.1.P进制数x转换为十进制数y 实现代码如下: #include <cstdio& ...

  8. 第三章 变量和数据类型_C语言中的小数(float,double)

    小数分为整数部分和小数部分,它们由点号.分隔,例如 0.0.75.0.4.023.0.27.-937.198 -0.27 等都是合法的小数,这是最常见的小数形式,我们将它称为十进制形式. 此外,小数也 ...

  9. C语言中的小数(float,double)

    小数分为整数部分和小数部分,它们由点号.分隔,例如 0.0.75.0.4.023.0.27.-937.198 -0.27 等都是合法的小数,这是最常见的小数形式,我们将它称为十进制形式. 此外,小数也 ...

最新文章

  1. View绘制原理 —— 画在哪?
  2. 福禄克网络与NBASE-T联盟联合发布电缆布线基础设施白皮书
  3. DIV+CSS中标签ul ol li dl dt dd用法
  4. java实现微信创建菜单_java实现微信公众平台自定义菜单的创建示例
  5. JQuery-学习笔记05【高级——JQuery动画和遍历】
  6. [设计模式] javascript 之 建造者模式
  7. 【java学习之路】(mysql篇)003.mysql中limit、表的创建、删除、约束
  8. [转载] python字符串_一文详解Python字符串条件判断方法
  9. java打印等腰三角形_为什么大家都说Java中只有值传递?
  10. CSDN终端数据更新不同步?
  11. C++windows内核编程笔记day11 win32静态库和动态库的使用
  12. led灯光衰怎么解决_led灯光衰一般多少为正常?
  13. LCOI出题组加团规则
  14. java蚂蚁智力题,智力题大全_附答案
  15. jQuery源码解析(架构与依赖模块)
  16. 程序发邮件 - 从忐忑到坦然
  17. smit 和 smitty的区别
  18. 云渲染如何收费,云渲染哪个平台费用低?
  19. 项目中的Ulua使用感想
  20. 基于腾讯云实时音视频Web API之Demo运行

热门文章

  1. c#重命名文件 递归_文件结构、文件操作及压缩解压操作
  2. mybatis工作原理_万字好文!MyBatis 的工作原理,你了解过吗?
  3. 分别求两个整数的最大公约数和最小公倍数。_看不懂辗转相除法求最小公约数?以身相许那种哦!...
  4. jQuery(一)、核心
  5. 精通SpringBoot---整合RabbitMQ消息队列
  6. coursera_ML_1
  7. iOS项目的完整重命名方法图文教程
  8. ubuntu1604安装tensorflow
  9. JavaScript--我所理解的原型链
  10. 处理git clone命令的非标准SSH端口连接