sprintf 与snprintf
时间: 2024-01-11 12:22:44 浏览: 106
sprintf和snprintf是C语言中的字符串格式化函数。
1. sprintf函数:
sprintf函数用于将格式化的数据写入字符串中。它的定义如下:
```c
int sprintf(char *str, const char *format, ...);
```
其中,str是指向目标字符串的指针,format是格式化字符串,...是可变参数列表。sprintf函数将根据format字符串的格式将数据写入str中,并返回写入的字符数。
范例:
```c
#include <stdio.h>
int main() {
char str[50];
int num = 123;
sprintf(str, "The number is %d", num);
printf("%s\n", str); // 输出:The number is 123
return 0;
}
```
2. snprintf函数:
snprintf函数与sprintf函数类似,也是用于将格式化的数据写入字符串中。不同之处在于,snprintf函数可以指定写入的最大字符数,避免了缓冲区溢出的问题。它的定义如下:
```c
int snprintf(char *str, size_t size, const char *format, ...);
```
其中,str是指向目标字符串的指针,size是最大字符数,format是格式化字符串,...是可变参数列表。snprintf函数将根据format字符串的格式将数据写入str中,最多写入size-1个字符,并在末尾添加一个空字符'\0',并返回写入的字符数。
范例:
```c
#include <stdio.h>
int main() {
char str[10];
int num = 12345;
snprintf(str, sizeof(str), "%d", num);
printf("%s\n", str); // 输出:1234
return 0;
}
```
阅读全文
相关推荐


















