一、函数原型
int snprintf( char * str, size_t size, const char * format, ...);
二、功能
将可变个参数按照format格式化成字符串,然后将其复制到str中
a、如果格式化后的字符串长度<size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符'\0';
b、如果格式化后的字符串长度>=size,则将其中(size-1)个字符复制到str中,并给其后添加一个字符串结束符,返回值为格式化后的字符串长度。
三、返回值
如成功则返回欲写入的字符串长度,如出错则返回负值。
四、扩展
strcpy() sprintf() strcat() 存在安全隐患,其对应的安全版为strncpy() snprintf() strncat()
strcpy() :strcpy(char * dest, char * src );把src所指由NULL结束的字符串复制到DEST所指的数组中。返回指向dest结尾处字符null的指针。
strcat(): char * strcat( char * dest, char *src );把src所指字符串添加到dest结尾处(覆盖dest结尾处的‘\0’)并添加'\0'.。 返回指向dest的指针。
strlen():int strlen(char * s) ; 返回s的长度,不包括结束符NULL。
strncat:char * strncat( char * dest, char * src, int n); 把源所指字符串前N个字符添加到目的结尾处(覆盖目的结尾处的'\0')并添加'\0'。返回指向目的的指针。
strncpy:char * strncpy( char *dest, char *src, int n);把src所指由NULL结束的字符串前n个字节复制到dest所指的数组中。如果src的前n个字节不含null, 则结果不会以null字符结束。如果src的长度小于n个字节,则以null填充dest知道复制完n个字节。返回指向dest的指针.