printf, fprintf, sprintf, snprintf, asprintf, vprintf, vfprintf, vsprintf, vsnprintf, vasprintf - вывод с преобразованием по формату
#include <stdio.h>
int printf (format, val ...) char *format;
int fprintf (stream, format, val ...) FILE *stream; char *format;
int sprintf (s, format [, val] ...) char *s, *format;
int snprintf(char *str, size_tsize, const char *format, ...)
int asprintf(char **ret, const char *format, ...)
#include <stdarg.h>
int vprintf(const char *format, va_list ap)
int vfprintf(FILE *stream, const char *format, va_list ap)
int vsprintf(char *str, char *format, va_list ap)
int vsnprintf(char *str, size_t size, const char *format, va_list ap)
int vasprintf(char **ret, const char *format, va_list ap)
Функция printf направляет данные в стандартный поток вывода stdin. Функция fprintf направляет данные в поток вывода, заданный аргументом stream. Функция sprintf направляет данные, заканчивающиеся пустым символом (\0), в массив s; пользователь должен позаботиться о выделении достаточного количества памяти для массива. Каждая функция возвращает число переданных символов (не считая пустого в случае sprintf), или отрицательное число, если при выводе обнаружилась ошибка.
Каждая из перечисленных функций преобразует, форматирует и печатает выводимые значения val под управлением формата, заданного аргументом format. Формат - это цепочка символов, содержащая об екты двух категорий: обычные символы, которые просто копируются в выходной поток, и спецификаторы преобразований, каждому из которых соответствует одно, несколько или ни одного из выводимых значений. Если выводимых значений val недостаточно, результат непредсказуем; если их слишком много, избыточные игнорируются.
Каждый спецификатор преобразования начинается символом %, после которого последовательно записываются: