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
spaceand+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, andGconversions, leading zeroes (following any indication of sign or base) are used to pad to the field width. No space padding is performed. If the0and-flags both appear, the0flag is ignored. Ford,i,o,u,xandXconversions, if a precision is specified, the0flag is ignored. If the0and'flags both appear, the grouping characters are inserted before the zero padding.