函数功能:把格式化的数据写入某个字符串
头文件:
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 整数转成大写十六进位。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- <? $money = 123.1 $formatted = sprintf ("%06.2f", $money); // 此时变数 $ formatted 值为 "123.10" $formatted = sprintf ("%08.2f", $money); // 此时变数 $ formatted 值为 "00123.10" $formatted = sprintf ("%-08.2f", $money); // 此时变数 $ formatted 值为 "123.1000" $formatted = sprintf ("%.2f%%", 0.95 * 100); // 格式化为百分比 ?> ¢%08.2f 解释: %开始符 0是 "填空字元" 表示,如果长度不足时就用0来填满。 8格式化后总长度 2f小数位长度,即2位 ¢第3行值为"00123.10" 解释: 因为2f是(2位)+小数点符号(1)+前面123(3位)=6位,总长度为8位,故前面用[填空字元]0表示,即00123.10 ¢第4行值为"123.1000" 解释: -号为反向操作,然后填空字元0添加在最后printf函数的一般形式为:
int printf(const char *format,[argument]); 以上形式,我们在Visual C++里输入“printf(”将会看到。 说明printf函数类型为整型,其返回值是整型值。 其值实际为printf控制输出的字符数。int a,b;
a=printf("gelin\n"); //a的值为6, b=printf("the value of printf is:%d",a); //b的值为24 printf("\n%d\n",b);