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);
out:buf is :192.168.4.1
buf is :20