函数原型:int snprintf(char* dest_str,size_t size,const char* format,…);
函数功能:先将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。
所需头文件:#include<stdio.h>
注意事项:如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\0’;
如果格式化后的字符串长度大于或等于size,则将字符串的(size-1)拷贝至dest_str中,然后在字符串结尾处加上’\0’.
函数返回值是 格式化字符串的长度。
函数使用实例:
-
#include
<stdio.h>
-
#include
<stdlib.h>
-
#include
<string.h>
-
-
int main(void){
-
-
char dest_str[4096];
-
memset(dest_str,0,sizeof(dest_str));
-
-
char *s1 = “Linux程序设计”;
-
int size = strlen(s1);
-
int year = 2014;
-
int month = 11;
-
int day = 6;
-
-
snprintf(dest_str,sizeof(dest_str),”字符串:%s\n长度是:%d\n今天是:%d年%d月%d日\n”,s1,size,year,month,day);
-
-
printf(“%s”,dest_str);
-
-
return 0;
-
}
函数执行结果: