vsprintf()的C语言例子
时间: 2024-08-16 09:05:11 浏览: 39
vsprintf()
`vsprintf()`是C语言中的一个函数,它用于格式化并打印变量到字符串缓冲区中。这个函数在stdarg.h头文件中声明,允许你传递可变数量的参数,并按照给定的格式字符串进行格式化。
下面是一个简单的`vsprintf()`的例子:
```c
#include <stdio.h>
#include <stdarg.h>
#define BUFFER_SIZE 50
int main() {
char buffer[BUFFER_SIZE];
int num = 42;
float decimal = 3.14;
// 格式字符串,包含%d和%f占位符
const char* fmt = "The number is %d and the decimal is %.2f.\n";
// 使用vsprintf()函数,fmt后跟位置参数列表
vsprintf(buffer, fmt, (va_list){num, decimal});
printf("Formatted string: %s\n", buffer);
return 0;
}
```
在这个例子中,`vsprintf()`会将`num`和`decimal`的值替换掉`fmt`中的相应占位符 `%d` 和 `%.2f`,并将结果写入`buffer`。注意,`va_list`是一个指向参数列表起点的指针,我们在这里直接传递了`(va_list){num, decimal}`。
阅读全文