ESP8266学习过程中用到的C语言知识

文档还在更新中,先写测试用到的自己忘掉的东西,加以熟悉,后面会把我写的关于8266模拟spi驱动tft屏的源码抛出,附带解释说明。


sprintf的相关用法。

前提:

        我需要把IP和时间全部存到字符串里去,因为我的lcd显示函数的参数为字符串。ip为char类型数组 ,时间为int类型的整数。

实现的原理:

        简单理解起来即为,char类型数组转换成字符串,int类型的整数转换成字符串。

sprintf函数的解析:

        sprintf 函数打印到字符串中,在完成其他数据类型转换成字符串类型操作中应用广泛。

        函数原型:int sprintf( char *buffer, const char *format [, argument] … );前两个参数是固定的,后面的参数是可变的。关于第二个参数的格式输出控制,决定了他的用法独特。sprintf使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。简直太方便了。

测试DEMO:

先完成我自己程序用到的部分:

unsigned char ip[4]={192,168,4,1};
unsigned char buf[20]={0};
sprintf(buf,"%d.%d.%d.%d",ip[0],ip[1],ip[2],ip[3]);
printf("buf is :%s\n",buf);
int w=20;
sprintf(buf,"%d",w);
printf("buf is :%s\n",buf);

-》 buf is :192.168.4.1
      buf is :20


原本我用的方法是,把IP[0]中的百位十位个位取出来,放在数组里面,一次类推,得到了一个新的数组,里面分别是1,9,2,1,6,8,0,0,4,0,0,1。这样的方法倒是没问题,问题是拆分之后要转换成一个字符串,说实在的难倒我了,换了几种方法都没转换出来,有知道的兄弟可以告诉我一下。  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值