|
Флаги
|
Значение
|
По умолчанию
|
|
–
|
Выравнивание по левому краю.
|
Выравнивание по правому краю.
|
|
+
|
Добавление знака + или – перед числами.
|
Знак добавляется только перед отрицательными числами.
|
|
0
|
Добавление нулей перед выводимым значением. Если одновременно используются флаги – и 0, 0 игнорируется.
|
Добавление пробелов.
|
|
пробел
|
Добавление пробела перед положительным числом. Если одновременно используются флаги пробел и +, пробел игнорируется.
|
Пробел не добавляется.
|
|
#
|
Добавление символов 0, 0х или 0Х перед ненулевым значением, если флаг # используется с форматами о, х или Х соответственно.
|
Символы 0, 0х и 0Х не добавляются.
|
|
При использовании с форматами e, E и f флага # выводимое число будет содержать десятичную точку в любом случае.
|
Десятичная точка добавляется, только если за ней следуют цифры.
|
|
При использовании с форматами g и G флага # выводимое число будет содержать десятичную точку и хвостовые нули в любом случае.
|
Десятичная точка добавляется, только если за ней следуют цифры. Хвостовые нули не выводятся.
|
|
Игнорируется при использовании с форматами c, d, i, u и s.
|
|
|
Тип
|
Действие
|
По умолчанию
|
|
c, C
|
Точность не имеет эффекта.
|
Выводится символ.
|
|
d, i, u, o, x, X
|
Точность задаёт минимальное количество символов, которые будут напечатаны. Если число содержит меньше символов, оно расширяется нулями.
|
Точность равна 1.
|
|
e, E, f
|
Точность задаёт количество символов после десятичной точки. Число округляется.
|
Точность равна 6. Если точность равна 0 или опущена, десятичная точка не выводится.
|
|
g, G
|
Точность задаёт максимальное количество значащих цифр.
|
Печатается 6 значащих цифр.
|
|
s, S
|
Точность задаёт максимальное количество выводимых символов.
|
Выводятся все символы строки.
|
|
Символ
|
Тип
|
Формат вывода
|
|
c
|
int или wint_t
|
При использовании с функцией printf определяет однобайтовый символ, при использовании с функцией wprintf определяет расширенный символ.
|
|
C
|
int или wint_t
|
При использовании с функцией printf определяет расширенный символ, при использовании с функцией wprintf определяет однобайтовый символ.
|
|
d
|
int
|
Знаковое десятичное целое.
|
|
i
|
int
|
Знаковое десятичное целое.
|
|
o
|
int
|
Беззнаковое восьмеричное целое.
|
|
u
|
int
|
Беззнаковое десятичное целое.
|
|
x
|
int
|
Беззнаковое шестнадцатеричное целое с использованием «abcdef».
|
|
X
|
int
|
Беззнаковое шестнадцатеричное целое с использованием «ABCDEF».
|
|
e
|
double
|
Знаковое число в форме [ – ]d.dddd e [знак]ddd, где d есть одна десятичная цифра, dddd – одна или более десятичных цифр, ddd – три десятичные цифры and знак есть + или –.
|
|
E
|
double
|
Идентичен формату e, за исключением того, что символ E, а не e вводит экспоненту.
|
|
f
|
double
|
Знаковое число в форме [ – ]dddd.dddd, где dddd есть одна или более десятичных цифр. Количество цифр перед десятичной точкой зависит от величины числа, а количество цифр после десятичной точки – от требуемой точности.
|
|
g
|
double
|
Знаковое число в формате f или e, в зависимости от того, какой формат более компактен для заданного значения и точности.
|
|
G
|
double
|
Идентичен формату g, за исключением того, что символ E, а не e вводит экспоненту.
|
|
n
|
pointer to integer
|
Количество символов успешно записанных к данному моменту в выходной поток. Это значение сохраняется в целочисленной переменной, чей адрес задан как аргумент.
|
|
p
|
pointer to void
|
Печатает адрес, заданный аргументом.
|
|
s
|
string
|
При использовании с функцией printf задаёт строку однобайтовых символов, при использовании с функцией wprintf задаёт строку расширенных символов. Символы печатаются до достижения признака конца строки.
|
|
S
|
string
|
При использовании с функцией printf задаёт строку расширенных символов, при использовании с функцией wprintf задаёт строку однобайтовых символов. Символы печатаются до достижения признака конца строки.
|
|
Mode
|
Действие
|
|
"r"
|
Открытие для чтения. Если файл не существует или не может быть найден, функция fopen возвращает признак
ошибки.
|
|
"w"
|
Открытие для записи. Если файл существует, его содержимое уничтожается. Если файл не существует, он
создаётся.
|
|
"a"
|
Открытие для добавления. Если файл не существует, он создаётся.
|
|
"r+"
|
Открытие для чтения и записи. Файл должен существовать.
|
|
"w+"
|
Открытие пустого файла для чтения и записи. Если файл существует, его содержимое уничтожается.
|
|
"a+"
|
Открытие для чтения и добавления. Если файл не существует, он создаётся.
|
|
Манипулятор
|
Описание
|
Примечание
|
|
boolalpha
|
Значения переменных типа bool выводятся как true и false.
|
|
|
dec
|
Целые значения выводятся в десятичной системе счисления.
|
Используется по умолчанию
|
|
fixed
|
Для вещественных чисел используется фиксированный формат.
|
|
|
hex
|
Целые значения выводятся в шестнадцатеричной системе счисления.
|
|
|
internal
|
Знак выравнивается по левому краю, а само число – по правому краю.
|
|
|
left
|
Выравнивание по левому краю.
|
|
|
noboolalpha
|
Значения переменных типа bool выводятся как 1 и 0.
|
Используется по умолчанию
|
|
noshowbase
|
Префиксы 0 и 0х, обозначающие систему счисления, не выводятся.
|
Используется по умолчанию
|
|
noshowpoint
|
Вывод только целой части вещественного числа (без точки), если дробная часть равна 0.
|
Используется по умолчанию
|
|
noshowpos
|
Знак перед положительными числами не выводится.
|
Используется по умолчанию
|
|
noskipws
|
Пробел рассматривается как признак завершения ввода.
|
|
|
nouppercase
|
Шестнадцатеричные цифры и символ экспоненты в научном формате вещественного числа выводятся строчными буквами.
|
Используется по умолчанию
|
|
oct
|
Целые значения выводятся в восьмеричной системе счисления.
|
|
|
right
|
Выравнивание по правому краю.
|
Используется по умолчанию
|
|
scientific
|
Для вещественных чисел используется научный формат.
|
|
|
setfill(c)
|
Задаёт символ для заполнения. По умолчанию используется пробел.
|
|
|
setprecision(n)
|
Задаёт точность для вещественных чисел. По умолчанию точность равна 6. Если не установлен ни фиксированный, ни научный формат вещественного числа, то точность задаёт количество выводимых цифр (всего, до точки и после точки). Если число слишком велико, оно автоматически отображается в научном формате, и тогда точность задаёт количество цифр в мантиссе. Если установлен фиксированный формат вещественного числа, точность задаёт количество цифр после точки. Если установлен научный формат вещественного числа, точность задаёт количество цифр в мантиссе.
|
|
|
setw(n)
|
Устанавливает минимальное количество символов, используемых для вывода значения. Если значение представляется меньшим количеством символов, остальные позиции заполняются символом, установленным с помощью манипулятора setfill. Выравнивание задаётся манипуляторами left, right и internal. Чтобы установить поведение по умолчанию (столько символов, сколько необходимо), нужно использовать манипулятор setw с параметром 0.
|
Влияет только на одно вводимое/выводимое значение!
|
|
showbase
|
Вывод префиксов 0 и 0х для обозначения системы счисления.
|
|
|
showpoint
|
Вывод и целой, и дробной частей вещественного числа, даже если дробная часть равна 0.
|
|
|
showpos
|
Вывод знака перед положительным числом.
|
|
|
skipws
|
Пробелы рассматриваются как разделители между значениями.
|
Используется по умолчанию
|
|
uppercase
|
Шестнадцатеричные цифры и символ экспоненты в научном формате вещественного числа выводятся прописными буквами.
|
|