РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
619 of 815 menu

Функция sprintf

Функция sprintf записывает отформатированный текст в символьный массив (строку), а не выводит его на экран. В первый параметр мы передаем указатель на массив, куда будет записан результат, во второй - строку формата, а в последующие параметры - значения, которые нужно подставить в эту строку. Строка формата может содержать спецификаторы, такие как "%d", "%f", "%s" и другие. Функция возвращает количество записанных символов без учета нулевого символа.

Синтаксис

int sprintf(char* buffer, const char* format, ...)

Пример

Давайте запишем в массив строку с числом 42 и словом "abcde", используя спецификаторы "%d" и "%s":

#include <iostream> #include <cstdio> using namespace std; int main() { char buf[100]; int num = 42; const char* str = "abcde"; int res = sprintf(buf, "%d %s", num, str); cout << buf << endl; cout << res << endl; return 0; }

Результат выполнения кода:

"42 abcde" 8

Пример

Давайте отформатируем вещественное число с точностью до 2 знаков после запятой:

#include <iostream> #include <cstdio> using namespace std; int main() { char buf[100]; double num = 3.14159; sprintf(buf, "%.2f", num); cout << buf << endl; return 0; }

Результат выполнения кода:

3.14

Пример

Давайте объединим несколько значений разных типов в одну строку:

#include <iostream> #include <cstdio> using namespace std; int main() { char buf[100]; int a = 1; int b = 2; double c = 3.5; sprintf(buf, "a=%d, b=%d, c=%.1f", a, b, c); cout << buf << endl; return 0; }

Результат выполнения кода:

"a=1, b=2, c=3.5"

Смотрите также

  • функция printf,
    которая выводит отформатированные данные на экран
  • функция snprintf,
    которая безопасно записывает данные в строку с ограничением длины
  • функция fprintf,
    которая записывает отформатированные данные в файл
  • функция to_string,
    которая преобразует число в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить