snprintf()
#include <stdio.h>
#include <stdlib.h>
int main(){
char str[10]={0,};
snprintf(str, sizeof(str), "0123456789012345678");
printf("str=%s/n", str);
return 0;
}
- 声明
int snprintf ( char * str, size_t size, const char * format, ... );
- 参数
str
– 目标字符串。
size
– 拷贝字节数(Bytes)。
format
– 格式化成字符串。
--
可变参数。 - 返回值
(1) 如果格式化后的字符串长度小于等于 size,则会把字符串全部复制到 str 中,并给其后添加一个字符串结束符 \0;
(2) 如果格式化后的字符串长度大于 size,超过 size 的部分会被截断,只将其中的 (size-1) 个字符复制到 str 中,并给其后添加一个字符串结束符 \0,返回值为欲写入的字符串长度!, snprintf的返回值是欲写入的字符串长度,而不是实际写入的字符串度!