C 库 - sprintf() 函数



C 库的 sprintf() 函数允许您创建具有指定格式的字符串,类似于 printf(),但它不是打印到标准输出,而是将生成的字符串存储在用户提供的字符数组中。

语法

以下是 C 库 sprintf() 函数的语法:

int sprintf(char *str, const char *format, ...);

参数

此函数接受以下参数:

  • str:指向字符数组的指针,生成的字符串将存储在此处。
  • format:指向一个以 null 结尾的字符串的指针,该字符串包含要写入字符串 str 的文本。此字符串可能包含格式说明符,这些说明符指示如何将后续参数转换为格式并格式化到生成的字符串中。

返回值

sprintf() 函数返回写入字符串 str 的字符数,不包括 null 终止字符。

示例 1:格式化浮点数

这里,sprintf() 以两位小数格式化浮点数。

以下是 C 库 sprintf() 函数的示例。

#include <stdio.h>

int main() {
    char buffer[100];
    float pi = 3.14159;
    sprintf(buffer, "The value of pi is %.2f.", pi);
    printf("%s\n", buffer);
    return 0;
}

输出

以上代码产生以下结果:

The value of pi is 3.14.

示例 2:组合字符串和整数

此示例展示了 sprintf() 如何将字符串和整数组合到一个格式化的字符串中。

#include <stdio.h>

int main() {
    char buffer[100];
    int age = 30;
    char name[] = "John";
    sprintf(buffer, "%s is %d years old.", name, age);
    printf("%s\n", buffer);
    return 0;
}

输出

执行以上代码后,我们得到以下结果:

John is 30 years old.
广告