Формат printf
обобщённое название семейства функций, используемых для форматного вывода в различные потоки значений разных типов, отформатированных согласно заданному шаблону.
Этот шаблон определяется составленной по специальным правилам строкой (форматной строкой).
%[0][width][.param]type
В квадратные скобки
[..]
заключены опциональные параметры.
Обязательной является только конструкция%type
, все остальное - дополнительные модификаторы формата.
Параметр | Описание | |
---|---|---|
type |
спецификатор формата: | |
d , i |
Знаковое целое число | |
u |
Беззнаковое целое число | |
x , X |
Беззнаковое целое число (в шестнадцатеричном виде):X - заглавными символами;x - строчными символами. |
|
f , F |
Число с плавающей точкой (в нормальном виде d.ddd ) |
|
e , E |
Число с плавающей точкой (в экспоненциальном виде d.ddde±dd ) |
|
g , G |
Число с плавающей точкой (в нормальном или экспоненциальном виде) | |
a , A |
Число с плавающей точкой (в шестнадцатеричном виде):A - заглавными символами;a - строчными символами. |
|
s |
текстовая строка | |
c |
один текстовый символ | |
width |
Длина поля для вставки. Если результат после форматирования превышает данное значение, то он будет обрезан справа. |
|
0 |
Только для числовых типов. Заполнить нулями слева. Если результат после форматирования меньше, чем width , то он будет дополнен 0 слева (если параметр не используется, то дополняется символами "пробел"). |
|
.param |
Для чисел с плавающей точкой - количество символов после запятой. Для строки текста - длина строки. |
Для наглядности в столбце "Результат" пробелы заменены знаком
_
.
Значение аргумента | Формат | Описание | Результат |
---|---|---|---|
value0 = 109 |
{0} |
Формат по умолчанию | 109 |
{0%6d} |
Целое число, длина 6 символов | ___109 |
|
{0%06d} |
Целое число, длина 6 символов, заполнено нулями | 000109 |
|
{0%x} |
Целое числов шестнадцатеричном виде | 6d |
|
{0%4X} |
Целое числов шестнадцатеричном виде, длина 4 символа, заглавные символы | __6D |
|
{0%04x} |
Целое числов шестнадцатеричном виде, длина 4 символа, заполнено нулями | 006d |
|
{0%c} |
Один символ | m |
|
value1 = 12.123456 |
{1%f} |
Число с плавающей точкой | 12.123456 |
{1%.3f} |
Число с плавающей точкой, 3 цифры после запятой | 12.123 |
|
{1%9.4f} |
Число с плавающей точкой, длина 9 символов, 4 цифры после запятой | __12.1235 |
|
{1%09.4f} |
Число с плавающей точкой, длина 9 символов, 4 цифры после запятой | 0012.1235 |
|
value2 = 'text' |
{2%c} |
Один символ | t |
{2%.4s} |
Текстовая строка, длина 4 символа | text |
|
{2%.2s} |
Текстовая строка, длина 2 символа | te |