Функция sprintf в программировании на C: руководство по использованию
sprintf() - это функция в стандартной библиотеке Си, которая позволяет форматировать строку, подобно функции printf(), но возвращая новую отформатированную строку вместо вывода на экран. Функция sprintf() имеет следующий прототип:
int sprintf(char *str, const char *format, ...);
Параметры функции:
- str: указатель на массив символов, где будет сохранён результат форматирования;
- format: указатель на строку формата, которая содержит специальные символы для форматирования;
- ...: переменное количество аргументов, которые будут использованы для заполнения строки формата.
Форматирование строк происходит с помощью символов-спецификаторов, которые имеют следующую форму:
%[флаги][ширина][.точность][модификатор][тип]
Примеры использования функции sprintf():
/* пример форматирования строки с использованием sprintf() и printf() */
#include
int main() {
char str[50];
int num = 2018;
float float_num = 3.14;
/* форматирование строки с помощью sprintf() */
sprintf(str, "The year is %d and Pi is equal to %f", num, float_num);
printf("sprintf(): %s\n", str);
/* форматирование строки с помощью printf() */
printf("printf(): The year is %d and Pi is equal to %f\n", num, float_num);
return 0;
}
В данном примере мы форматируем строку с помощью функции sprintf() и сохраняем результат в массиве str[]. Затем мы выводим полученную строку на экран с помощью функции printf(). Результат будет таким:
sprintf(): The year is 2018 and Pi is equal to 3.140000
printf(): The year is 2018 and Pi is equal to 3.140000
Как видно из примера, результаты функций sprintf() и printf() идентичны. Отличие заключается только в способе вывода - sprintf() возвращает отформатированную строку, а printf() выводит её на экран.