C语言 snprintf函数
时间: 2023-10-04 17:14:09 浏览: 92
C语言中的printf函数
5星 · 资源好评率100%
snprintf函数是C语言标准库中的一个函数,它用于将格式化的数据写入一个字符串中。其函数原型为:
```c
int snprintf(char *str, size_t size, const char *format, ...);
```
其中,str是要写入数据的字符串指针,size是要写入的最大字符数,format是格式化字符串,后面的可变参数为要写入的数据。
snprintf函数的功能类似于printf函数,但是它可以将数据写入一个字符串中,并且可以指定写入的最大字符数,避免字符串缓冲区溢出。
例如,下面的代码用snprintf函数将一个整数和一个字符串写入一个字符串缓冲区中:
```c
#include <stdio.h>
int main()
{
char buf[100];
int num = 12345;
char str[] = "hello world";
int ret = snprintf(buf, 100, "num=%d, str=%s", num, str);
printf("ret=%d, buf=%s\n", ret, buf);
return 0;
}
```
输出结果为:
```
ret=18, buf=num=12345, str=hello world
```
其中,ret表示写入的字符数,buf中存放了格式化后的字符串。注意,由于buf数组的大小为100,而写入的字符数为18,因此buf数组中还有82个字符可用。
阅读全文