Форматоване виведення

Розглянуті вище функції виводять інформацію в потік без або майже без перетворення. Функція fprintf перетворить дані, що виводяться, в послідовність символів, керуючись рядком формату.

int fprintf (FILE *stream,

const char *format // рядок формату

[, argument, ...] // значення, що виводяться

) - при успіху повертає кількість виведених байт, при невдачі - EOF.

Квадратні дужки говорять про необов'язковість аргументу

Рядок формату містить прості символи і специфікації формату. Прості символи копіюються у вихідний потік без зміни, специфікації застосовуються для форматування решти аргументів функції. Якщо аргументів менше, ніж специфікацій, наслідки непередбачувані. Якщо аргументів більше, ніж специфікацій, зайві аргументи ігноруються.

Загальний вид специфікації формату наступний:

%[прапори] [ширина] [.точність] [розмір] тип

прапори - ознаки вирівнювання, використання знаків, десяткової крапки, кінцевих нулів, 8-ічних і 16-ічних префіксів;

ширина - мінімальне число друкованих символів з урахуванням пропусків і нулів;

точність - максимальне число друкованих символів (для цілих - мінімальне число цифр);

розмір - визначає розмір аргументу;

тип - символ специфікації типу - обов'язковий елемент формату.