前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言中如何将小数或者整数和字符串合二为一

C语言中如何将小数或者整数和字符串合二为一

作者头像
跋扈洋
发布2022-03-29 08:49:07
1.1K0
发布2022-03-29 08:49:07
举报
文章被收录于专栏:物联网知识

问题

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

用到的知识

字符串拼接

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

需要定义一些头文件

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

具体实现

代码语言:javascript
复制
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 能够一次连接多个字符串(自然也可以同时在它们中间插入别的内容,总之非常灵活)。比如:

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

实现功能

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

代码语言:javascript
复制
    float humi=1.21
    char 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 物联网知识 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 用到的知识
    • 字符串拼接
      • C 字符串函数 sprintf()
      • 实现功能
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档