在本指南中,咱们将评论怎么在C程序中运用sprintf函数。sprintf函数用于将一个格式化的字符串写入一个字符串缓冲区。

让咱们来评论怎么运用这个函数,并通过各种比如来说明。

根本用法

sprintf函数定义在stdio.h头文件中;它承受一个格式化的字符串并写入一个字符串缓冲区。能够把它看作是printf函数,但不是写到控制台,而是将输出发送到一个格式化的字符串。

sprintf函数的根本语法如下。

int sprintf(char* buff, const char* fmt, …);

Sprintf参数

以下是sprintf函数所承受的参数。

  1. buff -这是一个指向字符串缓冲区的指针,结果被写入缓冲区。
  2. fmt -这是一个指向写到文件流的字符串的指针。
  3. -这代表其他参数,如宽度、精度、长度和一个指定器。要了解更多关于printf函数系列的信息,请运用man printf指令。

sprint()函数将数据写入缓冲区所指向的字符串中。

回来值

sprintf函数有一个整数的回来类型。成功时,该函数回来写到缓冲区的字符数,不包含空结尾字符。

失败时,该函数回来一个负的整数值。

比如1

下面是一个在C言语中运用sprint()函数的比如。

#include
#include
int 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);
}

在上面的比如中,咱们创建了一个包含姓名、国家和年龄等值的格式化字符串。运用各种指定器,咱们能够将变量注入字符串中。

这些指定符包含。

  1. %c – 用于字符变量。
  2. %d 或 %i – 有符号的整数
  3. %f – 浮点
  4. %s – 字符串。
  5. %p – 指针 地址

示例2

咱们还能够运用sprint()函数将整数或浮点数转换为字符串类型。看一下下面的比如程序。

#include
#include
int 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()函数在特定条件下很有用。请查看手册以了解更多。