功能
把格式化的数据写入某个字符串缓冲区。
头文件
stdio.h
原型
int sprintf( char *buffer, const char *format, [ argument] … );
参数:
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]…:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)
#include<stdio.h>/*某个stdio.h*/
2
3 int main()/*主函数“整数”类型*/
4 {
5 char buffer[50];/*“字符”类型的数组,下面共有50个元素。*/
6 int n,a=5,b=3;/*三个变量都为“整数”类型,intn中间要有空格*/
7 n=sprintf(buffer,"%d plus %d is %d",a,b,a+b);/*赋予数值*/
8 printf("[%s]is a string %d chars long\n",buffer,n);/*“格式输出函数”*/
9 return 0;/*“返回零”
10 也就是程序正常退出*/
11 }
输出结果:
[5 plus 3 is 8] is a string 13 chars long
sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
若想输出’%‘本身时, 请使用’%%'处理。
- 处理字符方向。负号时表示从后向前处理。
- 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
- 字符总宽度。为最小宽度。
- 精确度。指在小数点后的浮点数位数。