`sprintf` 是 C 语言中的一个标准库函数,用于将格式化的数据转换为字符串并存储在缓冲区中。它是 `printf` 函数的一个变种,不同之处在于 `sprintf` 将输出写入一个字符串而不是标准输出(通常是控制台或屏幕)。
函数原型如下:
```c
int sprintf(char *str, const char *format, ...);
```
参数说明:
* `str`:一个字符数组,用于存储输出的字符串。
* `format`:格式字符串,指定如何格式化后续参数。这与 `printf` 中的格式字符串相同。
* `...`:可变数量的参数,根据 `format` 中的指定进行格式化。
返回值:该函数返回写入 `str` 中的字符数(不包括终止的空字符)。
示例:
```c
#include
int main() {
char buffer[50];
int a = 10;
float b = 3.14;
sprintf(buffer, "整数是 %d,浮点数是 %f", a, b);
printf("%s\n", buffer); // 输出:整数是 10,浮点数是 3.140000
return 0;
}
```
使用 `sprintf` 时要注意防止缓冲区溢出,因为这可能导致程序崩溃或其他安全问题。在某些情况下,使用更安全的替代方案(如 `snprintf`)可能是个好主意,它可以指定最大的输出长度以防止缓冲区溢出。