| Для
описания функций форматированного вывода printf,
fprintf, sprintf используются следующие метаобозначения: ^ Пробел (символ ^на самом деле не печатается!). \ f Используется только один из перечисленных элементов. [] Используется только один или не используется ни одного из перечисленных элементов. Замечание. Для использования функций printf, fprintf, sprintf в программу необходимо вставить команду препроцессора #include <stdio.h>Функции printf, fprintf и sprintf имеют переменное число аргументов. Число и типы аргументов должны соответствовать спецификациям преобразования в форматной (управляющей) строке. printf — записать аргументы в стандартный файл вывода stdout в соответствии с форматной строкой format. Определение: int printf (^rmat [,arg]...) char •format; fprintf - записать аргументы в поток stream в соответствии с форматной строкой format.Определение: int fprintf (stream, format [,arg]...) FILE * stream; char *format; sprintf — записать аргументы в массив символов s в соответствии с форматной строкой. Определение: int sprintf (s, format [,arg]...) char *s, *format; Примep printf ("error no. %d: %s", err, mesg); Печатается значение переменной err как десятичное целое и значение mesg как строка. Результат форматированного вывода будет выглядеть следующим образом (с точностью до значения переменных): error no. 13: cannot access file |
| %[выравнивание]
[ширина][дополнительныв символ] / ^ 1 Выравнивание вправо: по умолчанию. Выравнивание влево: символ —. Ширина определяет минимальное число выводимых символов. Она может задаваться целым числом; если значение соответствующей переменной превышает явно заданную ширину, то выводится столько символов, сколько необходимо. Символ * обозначает, что число выводимых символов будет определяться текущим значением переменной. Пример printf ("%*d", width, number); |
| % /—7
[ширина] с Примеры %с А %3с WA %-3с AW |
| %[-]
[ширина] [.точность] s Точность определяет число печатаемых символов. Если строка длиннее, чем заданная точность, то остаток строки отбрасывается. Пример %10s abcdefghijklrnn %-10.5s abcde^^ %10.5s )W^abcde |
| % Hf^f
[ширина] [l]d Для отрицательных чисел автоматически выводится знак - (минус). Для положительных чисел знак + (плюс) выводится только в том случае, если задан признак +; если в спецификации задан пробел ^>, то в позиции знака выводится пробел. Символы преобразования l — необходим для данных типа long';d - определяет вывод данных типа int в десятичном формате со знаком. Примеры %d 43 %+d +43 %d |
| ("I % [-][#]
[ширина] [1]) Символ # определяет вывод начального нуля в восьмеричном формате или вывод начальных Ох или ОХ в шестнадцатеричном формате. Символ 1 необходим для данных типа long. Символы преобразования u — десятичное без знака; о - восьмеричное без знака; х — шестнадцатеричное без знака; Х - шестнадцатеричное без знака с прописными буквами А - F. Примеры (для 32-разрядных чисел) % u 777626577%о 5626321721 %#о 05626321721 %х 2e59a3dl %#Х OX2E59A3D1 |
| %[-] /+
[#] [ширина] [.точность] 1 Е Для отрицательных чисел автоматически выводится знак - (минус). Для положительных чисел выводится знак + (плюс), если задан признак +; если в спецификации задан пробел ^, то в позиции знака выводится пробел. Завершающие нули не выводятся, если в спецификацию не включен признак #. Этот признак также обусловливает вывод десятичной точки даже при нулевой точности. Точность определяет число цифр после десятичной точки для форматов f, е и Е или число значащих цифр для форматов g и G. Округление "делается отбрасыванием. По умолчанию принимается точность в шесть десятичных цифр. |