Flag Specifiers
The printf
() conversion flags are enabled by specifying one or more of the following characters, which may appear in any order:
-
'
-
The integer portion of the result of a decimal conversion (
%i
,%d
,%u
,%f
,%g
, or%G
) is formatted with thousands grouping characters using the non-monetary grouping character. Some locales, including the POSIX C locale, do not provide non-monetary grouping characters for use with this flag. -
-
-
The result of the conversion is left-justified within the field. The conversion is right-justified if this flag is not specified.
-
+
-
The result of signed conversion always begins with a sign (
+
or-
). If this flag is not specified, the conversion begins with a sign only when a negative value is converted. -
space
-
If the first character of a signed conversion is not a sign or if a signed conversion results in no characters, a space is placed before the result. If the
space
and+
flags both appear, the space flag is ignored. -
#
-
The value is converted to an alternate form if an alternate form is defined for the selected conversion. The alternate formats for conversions are described along with the corresponding conversion.
-
0
-
For
d
,i
,o
,u
,x
,X
,e
,E
,f
,g
, andG
conversions, leading zeroes (following any indication of sign or base) are used to pad to the field width. No space padding is performed. If the0
and-
flags both appear, the0
flag is ignored. Ford
,i
,o
,u
,x
andX
conversions, if a precision is specified, the0
flag is ignored. If the0
and'
flags both appear, the grouping characters are inserted before the zero padding.