函数简介

函数功能:把格式化的数据写入某个字符串  头文件: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