sprintf()

Направить вывод в строку

Прототип:

#include <stdio.h>
int sprintf( char *buf,
const char *format,
... );

Аргументы:

buf
Указатель на буфер, куда будет записана отформатированная строка.
format
Строка, характеризующая формат выходной информации. Она определяет какие дополнительные аргументы следует передать функции. Дополнительная информация о формате параметра fmt указана на странице printf().

Библиотека:

libc

Описание:

Функция sprintf() аналогична fprintf(), за исключением того, что запись производится в буфер buf. Завершающий нуль всегда размещается в конце сгенерированной строки.

Возвращаемое значение:

>=0
Число записанных в массив символов без завершающего NULL.
<0
Возникла ошибка. Код ошибки записан в errno.

Примеры:

#include <stdio.h>
#include <stdlib.h>
/* Create temporary file names using a counter */
char namebuf[13];
int TempCount = 0;
char * make_temp_name()
{
sprintf( namebuf, "ZZ%.6o.TMP", TempCount++ );
return (namebuf);
}
int main( void )
{
FILE *tf1, *tf2;
tf1 = fopen( make_temp_name(), "w" );
tf2 = fopen( make_temp_name(), "w" );
fputs( "temp file 1", tf1 );
fputs( "temp file 2", tf2 );
fclose( tf1 );
fclose( tf2 );
return (EXIT_SUCCESS);
}

Классификация:

ANSI, POSIX 1003.1

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Смотри ниже
В потоке
Да

Предостережения:

Безопасно вызывать данную функцию в обработчике сигналов, если не обрабатываются данные с плавающей точкой.

Тематические ссылки:

errno, fprintf(), fwprintf(), printf(), snprintf(), swprintf(), vfprintf(), vfwprintf(), vprintf(), vsnprintf(), vsprintf(), vswprintf(), vwprintf(), wprintf()




Предыдущий раздел: Описание API системной библиотеки