函数简介
函数功能:把格式化的数据写入某个字符串 头文件:stdio.h
函数原型:int sprintf( char *buffer, const char *format [, argument] … );
返回值:字符串长度(strlen)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
参数说明及应用举例
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
若想输出`%'本身时, 请这样`%%'处理。
1. 处理字符方向。负号时表示从后向前处理。
2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
3. 字符总宽度。为最小宽度。
4. 精确度。指在小数点后的浮点数位数。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
%% 印出百分比符号,不转换。
%c 整数转成对应的 ASCII 字元。
%d 整数转成十进位。
%f 倍精确度数字转成浮点数。
%o 整数转成八进位。
%s 整数转成字符串。
%x 整数转成小写十六进位。
%X 整数转成大写十六进位。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
应用举例
将长整型转换成字符串
ulong aa=123456;
uchar *p;
char tmp[10];
sprintf(tmp,"%.6ld",aa);
pp=(uchar*)tmp;
pp[0]="1";pp[1]="2";pp[2]="3";pp[3]="4";pp[4]="5";pp[5]="6";
将整型数据里面每个位子的数据提取出来
sprintf(tmp,"%.6ld",flow-48); 这里先提取成字符,再减48
用sprintf将数据里面加入特殊符号,如“.”,将下面的aa,bb转换成字符串输出到LCD或则串口,aa.bb
ulong aa=12345678;
ulong bb=1234;
uchar temp[14];
sprintf(temp,"%.8ld%c%.4ld",aa,46,bb);
则temp里面是12345678.1234