#include <stdio.h>
int main( void )
{
char buffer[200], s[] = “computer”, c = ‘l’;
int i = 35, j;
float fp = 1.7320534f;
// 格式化并打印各种数据到buffer
j = sprintf( buffer, " String: %s\n", s ); // C4996
j += sprintf( buffer + j, " Character: %c\n", c ); // C4996
j += sprintf( buffer + j, " Integer: %d\n", i ); // C4996
j += sprintf( buffer + j, " Real: %f\n", fp );// C4996
printf( “Output:\n%s\ncharacter count = %d\n”, buffer, j );
return 0;
}
输出结果:
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79
format标签属性
format 标签属性是%[flags][width][.precision][length]specifier,具体讲解如下: [3]
sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
- [指定参数] 处理字符方向。负号时表示从后向前处理。
- [标识符] 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
- [宽度]字符总宽度。为最小宽度。
- [精度] 精确度。指在小数点后的浮点数位数。
5, 转换字符
%% 印出百分比符号,不转换。
%c 字符输出到缓冲区,不转换。
%d 整数转成十进位。
%f 倍精确度数字转成浮点数。
%o 整数转成八进位。
%s 字符串输出到缓冲区,不转换。
%x 整数转成小写十六进位。
%X 整数转成大写十六进位。