Функции atoi( ), atof( ) и др. аналогичные позволяют преобразовать символьную строку в числовой формат. Существует множество функций, которые осуществляют обратную операцию, т. е. преобразуют численные значения в формат символьной строки. Наиболее универсальной из них является функция spruntf( ).
Функция spruntf( ) осуществляет форматированный вывод в символьную строку.
Прототип функции находится в заголовочном файле stdio.h и имеет следующую структуру:
int sprintf(char *buf, char *format [, arg1,…,argn]);
где buf – указатель на символьную строку, содержащий адрес оперативной памяти, с которого размещается преобразованная строка;
format – управляющая строка, составляемая по правилам формирования управляющей строки функции printf( );
arg1,…,argn – список переменных, подвергающихся преобразованию, и размещенных в строку, на которую указывает buf.
Функция sprintf( ) принимает последовательность аргументов, преобразует их каждому формату, указанному в строке format, и выводит форматированные данные совместно с отображаемыми и неотображаемыми символами строки format в строку buf.
Функция sprintf( ) работает аналогично функции fprintf( ), но в отличии от последней выводит данные не в поток, на который указывает первый её параметр (например, на экран дисплея), а в оперативную память по адресу buf.
Например, фрагменты программы
Вывод на экран
| «Вывод» в оперативную память
|
…
…
int i = 2;
fprintf( stdout, “i = %d”, i);
…
| …
char str[10];
int i = 2;
sprintf( str, “i = %d”, i);
…
|