Оператор
fprintf(“Список спецификаций форматов”[,Список вывода]);
где
Список вывода – последовательность разделённых запятыми переменных и выражений, значения которых требуется вывести (не обязательный параметр).
Список спецификаций форматов (строка форматов)– последовательность конструкций, представляющих представление в символьном виде(форматы) выводимых значений переменных и выражений из списка вывода. В этом списке могут присутствовать, чередуясь с форматами, также включаемые в поток вывода управляющие символы (например, \n – для перевода строки) и прочие символы (печатные).
Структура спецификации (формата) вывода (в квадратных скобках указаны необязательные элементы конструкции)
% [-][ L ][.][ M ] F
где
Элемент F задаёт собственно формат, то есть вид преобразования данных из внутреннего представления к виду в файле (в результирующем представлении в виде последовательности символов). Значения этого элемента представлены в таблице, где в скобках – примнры результатов форматного вывода.
%c | Символ печатный или управляющий(’\n’ – перевод строки) |
%d или %i | Десячичное целое со знаком (-123) |
%e или %E | Экспоненциальная (научнаая) форма со строчной буквой e или E (-1.234500e+002; -1.234500E+002) |
%f | Естественная форма с десятичной точкой (-123.450000) |
%g или %G | Наиболее короткая форма из %f и %e или %E |
%s | Строка символов, выводимых из строковых данных (может содержать управляющие символы, например \n) |
%u | Десячичное целое без знака (дополнительный код числа в десятичном представлении: -123 -> 4294967173; -1 -> 4294967295) |
%x или %X | Шестнадцатеричная форма без знака со строчными (%x) или прописными (%X) бкувами для цифр, больших 9 (123 -> 7b или 123 -> 7B) |
%p | Указатель в шестнадцатеричной форме |
%% | Знак % |
Элемент L – длина поля вывода задаёт длину поля для вывода значения выражения из списка вывода. Если она не задана или число символов выводимого значения боле превышает её, то длина поля будет равна числу этих символов.
Знак – (минус) обозначает, что выравнивание выводимого значения должно выполняться по левой границе поля вывода (если его нет, то по правой), если число символов, представляющих значение, менье длины поля вывода.
Элемент M – модификатор точности задаёт количество цифр в дробной части вещественного числа для форматов f, e,и E, а для форматов g и G – количество значащих цифр.
Некоторые типы данных Си
Type Name | Bytes | Other Names | Range of Values |
int | signed | –2,147,483,648 to 2,147,483,647 | |
unsigned int | unsigned | 0 to 4,294,967,295 | |
char | none | –128 to 127 by default 0 to 255 when compiled with /J | |
signed char | none | –128 to 127 | |
unsigned char | none | 0 to 255 | |
float | none | 3.4E +/- 38 (7 digits) | |
double | none | 1.7E +/- 308 (15 digits) | |
long double | same as double | none | same as double |