プロトタイプ:
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日