函數原型:
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日