#include <stdio.h> int sprintf(char *buf, const char *format, ...);
Функция sprintf() идентична функции printf() за исключением того, что поток вывода записывается в массив, адресуемый указателем buf, а не в стандартный поток stdout. По окончании работы функции этот массив будет завершаться символом конца строки (нуль-символом). Подробности рассматриваются в разделе, посвященном описанию функции printf.
В версии C99 к параметрам buf и format применен квалификатор restrict.
Возвращаемое значение равно числу символов, действительно помещенных в массив.
Важно понимать, что функция sprintf() не обеспечивает никакой проверки переполнения массива, адресуемого указателем buf. Это значит, что массив будет переполнен, если объем выводимых символов превысит длину массива. В качестве альтернативного решения рассмотрите применение функции snprintf().
После выполнения этого фрагмента программы элементам массива str значения будут присвоены таким образом, что получится строка:
один 2 3
char str[80]; sprintf(str, "%s %d %c", "один", 2, '3');