The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Visual Studio 2017 Documentation. In a format specification, the first optional field is flags. A flag directive is a character that specifies output justification and output of signs, blanks, leading zeros, decimal points, and octal and hexadecimal prefixes. More than one flag directive may appear in a format specification, and flags can appear in any order.
Flag Characters
| Flag | Meaning | Default |
|---|---|---|
– |
Left align the result within the given field width. | Right align. |
+ |
Use a sign (+ or –) to prefix the output value if it is of a signed type. | Sign appears only for negative signed values (–). |
0 |
If width is prefixed by 0, leading zeros are added until the minimum width is reached. If both 0 and – appear, the 0 is ignored. If 0 is specified as an integer format (i, u, x, X, o, d) and a precision specification is also present—for example, %04.d—the 0 is ignored. |
No padding. |
| blank (' ') | Use a blank to prefix the output value if it is signed and positive. The blank is ignored if both the blank and + flags appear. | No blank appears. |
# |
When it's used with the o, x, or X format, the # flag uses 0, 0x, or 0X, respectively, to prefix any nonzero output value. |
No blank appears. |
When it's used with the e, E, f, a or A format, the # flag forces the output value to contain a decimal point. |
Decimal point appears only if digits follow it. | |
When it's used with the g or G format, the # flag forces the output value to contain a decimal point and prevents the truncation of trailing zeros.Ignored when used with c, d, i, u, or s. |
Decimal point appears only if digits follow it. Trailing zeros are truncated. |
See Also
printf, _printf_l, wprintf, _wprintf_l
Format Specification Syntax: printf and wprintf Functions
printf Width Specification
Precision Specification
Size Specification
printf Type Field Characters