C语言学习:snprintf()函数

函数原型:

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;
}

执行结果:

字符串:Linux程序设计
长度是:17
今天是:2019年9月24日
发布了100 篇原创文章 · 获赞 45 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/wangzhongshun/article/details/101271017