printf()的转换说明修饰符

   可以在%和定义转换字符之间通过插入修饰符对基本的转换说明加以修改。下面例如可以插入的合法字符。如果使用了一个以上的修饰符,那么他们应该与表中的顺序相同,并不是所有的组合都是可能的。


1.标志:(1)-          项目是左对齐的;也就是说,会把项目打印在字段的左侧开始处。例如:“%-20s”


              (2)+         有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号。例如:“%+6.2f”


              (3)空格    有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。                                         +标志会覆盖空格标志。例如:“%6.2f”


              (4)#         使用转换说明的可选形式。若为%o格式,则以0开始;若为%x和%X格式,则以0x和0X开                                        始。对于所有浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符。对于%g                                            和%G格式,它防止尾随零被删除。  例如:“%#o”、“%#8.0f”、“%+#10.3E”


               (5)0        对于所有的数字格式,用前导零而不是用空格填充字段宽度。如果出现-标志或者指定了精                                       度(对于整数)则忽略该标志。 例如:“%010d”、“%08.3f”


2.digit(s)    字段宽度的最小值。如果该字段不能容纳要打印的数或者字符串,系统就会使用更宽的字段。

                        例如:“%4d”


3.  .digit(s)  精度。对于%e、%E、和%f转换,是将要在小数点的右边打印的数字的位数。对于%g和%G转                            换,是有效数字的最大位数。对于%s转换,是将要打印的字符的最大数目。对于整数转换,是                            将要打印的数字的最小位数;如果必要,要使用前导零来达到这个位数。只使用“.”表示其后跟                            随一个零,所以%.f和%.0f相同。 例如:“%5.2f”打印一个浮点数,它的字段宽度是为5个字符,                          小数点后有两个数字。


4.h      和整数转换说明符一起使用,表示一个short int 或unsigned short int 类型数值。

            例如:“%hu”、“%hx”、“%6.4hd”


5.hh     和整数转换说明符一起使用,表示一个short char 或unsigned char 类型数值。

             例如:“%hhu”、“%hhx”、“%6.4hhd”


6.j       和整数转换说明符一起使用,表示一个intmax_t或uintmax_t 值。例:“%jd”、“%8jX”


7.l        和整数转换说明符一起使用,表示一个long int 或unsigned long int 类型数值。例:“%ld”、“%8lu”


8.ll       和整数转换说明符一起使用,表示一个long long intunsigned long long int类型数值。(C99)

            例如: “%lld”、“%8llu”


9.L        和浮点转换说明符一起使用,表示一个long double值。例如:“%Lf”、“%10.4Le”


10.t       和整数转换说明符一起使用,表示一个ptrdiff_t值(与两指针之间的差相对应的类型)(C99)

             例如:“%td”、“%12ti”


11.z       和整数转换说明符一起使用,表示一个size_t值(sizeof返回类型)(C99)

              例如:“%zd”、“%12zx”

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值