可通过指定下列一个或多个字符(可以按任何顺序显示)来启用 printf() 转换标志:
十进制转换结果的整数部分(%i、%d、%u、%f、%g 或 %G)的格式是通过使用非货币分组字符的千位分组字符设置的。某些语言环境(包括 POSIX C 语言环境)未提供用于此标志的非货币分组字符。
转换结果将在字段中左对齐。如果未指定此标志,则转换将右对齐。
带符号的转换结果始终以符号(+ 或 -)开头。如果未指定此标志,则仅当转换负值时,转换才以符号开头。
如果带符号的转换的第一个字符不是符号或者未产生任何字符,则会在结果前放置空格。如果同时出现空格和 + 标志,则将忽略空格标志。
如果为所选转换定义了替换形式,则会将该值转换为替换形式。转换的替换格式将与对应转换一起说明。
对于 d、i、o、u、x、X、e、E、f、g 和 G 转换,前导零(跟在任何符号或基数表示之后)用于填充字段宽度。不会执行任何空格填充。如果同时出现 0 和 - 标志,则将忽略 0 标志。对于 d、i、o、u、x 和 X 转换,如果指定了精度,则将忽略 0 标志。如果同时出现 0 和 ' 标志,则会在进行零填充之前插入分组字符。