近期在浏览代码时,看到了sprintf函数,很疑惑。百度了,才知道这个函数功能很强大。
sprintf()函数是标准库的函数,定义在stdio.h头文件中。代码如下:
extern _ARMABI int sprintf(char * __restrict /*s*/, const char * __restrict /*format*/, ...) __attribute__((__nonnull__(1,2)));
主要作用:
1、可以把整形、浮点型数据转化为字符串,存放在数组里:
2、字符串连接。
char str[25];
uint16_t len1 = sprintf(str, "%x", 100); //把100转为十六进制表标的字符串,存放到str里, 返回转换后的字符个数,不包含结尾的空字符。
float time = 12345/1000.0;
char msg = "Power On\r\n";
uint16_t len2 = sprintf(str, "[%.3f]%s", time, msg); //输出[12.345]Power On, 这样可以把字符串连接起来。