Поделиться через


Директивы флагов

В спецификации формата первое необязательное поле — flags. Директива флага — это символ, определяющий основание вывода и вывод знаков, пробелов, ведущих нулей, десятичных запятых и восьмеричных и шестнадцатеричных префиксов. Несколько директив флага могут появляться в спецификации формата, и флаги могут размещаться в любом порядке.

Символы флагов

Flag

Значение

По умолчанию

Выравнивание результата в поле заданной ширины по левому краю.

Выравнивание по правому краю

+

Использование знака (+ или -) как префикс выходного значения, если оно имеет тип со знаком.

Отображение знака только для отрицательных значений (-).

0

Если width предшествует префикс 0, начальные нули добавляются до тех пор, пока не будет достигнута минимальная ширина. Если и 0, и – присутствуют, 0 игнорируется. Если 0 указывается как формат целого числа (i, u, x, X, o, d) и присутствует спецификация точности, например, %04.d, — 0 игнорируется.

Без заполнения.

пробел (' ')

Использование пробела в качестве префикса выходного значения, если оно знаковое и положительное. Пробел игнорируется, если присутствуют и пробел, и флаг +.

Нет пробелов.

#

При использовании с форматами o, x или X, флаг # использует 0, 0x или 0X соответственно как префикс любого отличного от нуля выходное значения.

Нет пробелов.

 

При использовании с форматами e, E, f, a или A флаг # требует присутствие десятичной запятой в выходном значении.

Десятичная запятая отображается, только если за ней следуют цифры.

 

При использовании с форматами g или G, флаг # требует присутствие десятичной запятой в выходном значении и предотвращает усечение хвостовых нулей.

Игнорируется при использовании с c, d, i, u или s.

Десятичная запятая отображается, только если за ней следуют цифры. Нули в конце усекаются.

См. также

Ссылки

printf, _printf_l, wprintf, _wprintf_l

Синтаксис описания формата: функции printf и wprintf

Спецификация ширины printf

Спецификация точности

Спецификация размера

Символы поля типа printf