snprintf(),函数原型为int snprintf(char *str, size_t size, const char *format, ...)。
将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至str中。
#include <stdio.h> int main () { char a[16]; size_t i; i = snprintf(a, 13, "%012d", 12345); // 第 1 种情况 printf("i = %lu, a = %s ", i, a); // 输出:i = 12, a = 000000012345 i = snprintf(a, 9, "%012d", 12345); // 第 2 种情况 printf("i = %lu, a = %s ", i, a); // 输出:i = 12, a = 00000001 return 0; }
将可变个参数(...)按照format格式化成字符串,然后将其复制到str中
(1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符(' ');
(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符(' '),返回值为欲写入的字符串长度。