В этом руководстве мы обсудим, как использовать функцию sprintf в программах на C. Функция sprintf используется для записи форматированной строки в буфер символьной строки.
Давайте обсудим, как использовать эту функцию, и проиллюстрируем это на различных примерах.
Основное использование
Функция sprintf определена в заголовке stdio.h; он принимает строку формата и записывает в строковый буфер. Думайте об этом как о функции printf, но вместо записи в консоль спринт отправляет вывод в форматированную строку.
Базовый синтаксис функции sprintf выглядит так:
int sprintf(char* buff, const char* fmt, …);
Параметры Sprintf
Ниже приведены параметры, принимаемые функцией sprintf.
- buff -указывает на строковый буфер, в который записывается результат.
- fmt -это указатель на строку, записанную в файловый поток.
- … -представляет другие параметры, такие как ширина, точность, длина и спецификатор. Чтобы узнать больше о семействе функций printf, используйте команду man printf.
Функция sprint () записывает данные в строку
Возвращаемое значение
Функция sprintf имеет возвращаемый целочисленный тип. В случае успеха функция возвращает количество символов, записанных в буфер, за исключением завершающего нулевого символа.
В случае ошибки функция возвращает отрицательное целочисленное значение.
Пример 1
Ниже приведен пример использования функции sprint () в C.
#include
#includeint main() {
int age;
char name[30], country[30], details[100];printf(«Enter your name: «);
fgets(name, 30, stdin);printf(«Enter your country: «);
fgets(country, 30, stdin);printf(«Enter your age: «);
scanf(«%d», &age);sprintf(details, «Name: %s Age: %d Country: %s «, name, age, country);
printf(«details: \n\n %s», details);
}
В приведенном выше примере мы создаем отформатированную строку, содержащую такие значения, как имя, страна и возраст. Используя различные спецификаторы, мы можем вставлять переменные в строку.
Эти спецификаторы включают:
- % c -используется для символьных переменных.
- % d или% i -целое число со знаком
- % f — сплавающей точкой
- % s -строка символов.
- % p -адрес указателя
Пример 2
Мы также можем использовать функцию sprint () для преобразования целого числа или числа с плавающей запятой в строковый тип. Взгляните на пример программы ниже:
#include
#include
#include
#includeint main() {
char after[10];
float var = 3.14159;
// var is a float before sprintf
printf(«Before sprintf %f \n«, var);// now its a string
sprintf(after, «%f», var);
printf(«After sprintf %s \n«, after);
}
В приведенном выше примере мы используем функцию sprint () для преобразования значения с плавающей точкой в строку.
Заключение
В этом руководстве мы обсудили, как использовать функцию sprint () для перенаправления вывода в форматированную строку. Функция sprint () полезна в определенных условиях. Ознакомьтесь с руководством, чтобы узнать больше.