snprintf/_snprintf函数的定义如下:
int snprintf(char *str, size_t count, const char *format, ...);
假设要复制的字符串format长度为len(不含\0)
在windows中,参见http://msdn.microsoft.com/en-US/library/2ts7cx93(v=VS.80).aspx
len<count时,复制len个字符到str中,并在结尾添加一个\0,返回len
len=count时,复制len个字符到str中,不添加\0,返回len
len>count时,复制count个字符到str中,不添加\0,返回-1
在linux中,自动添加\0,且返回欲写入的字符串长度(即len)
len<count时,复制len个字符到str中,并在结尾添加一个\0,返回len
len=count时,复制count-1(len-1)个字符到str中,并在结尾添加一个\0,返回len。
在这种情况下,复制时会丢失最后一个字符。
len>count时,复制count-1个字符到str中,并在结尾添加一个\0,返回len