//----------------------------------------------------
//AUTHOR: lanyang123456
//DATE: 2014-12-20
//----------------------------------------------------
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char value[100];
memset(value, 0, 100);
printf("len = %d, value = %s\n", strlen(value), value);
snprintf(value, 5, "%s,%s", "12", "34");
printf("at last len = %d ,the value = %s\n", strlen(value), value);
return 0;
}
the result
len = 0, value =
at last len = 4 ,the value = 12,3
原因:
snprintf()函数最多将 size bytes(包括结束符'\0')写到str中。