sprintf 和 snprintf

int sprintf(char *str, const char *format, ...);

windows平台下线程安全的格式化字符串函数sprint_s并非标准C函数,因此linux下无法使用,但可以使用snprintf函数代替。
int snprintf(char *
str, size_t size, const char *format, ...);

最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将不会溢出。
函数返回值: 若成功则返回存入数组的字符数,若编码出错则返回负值。

snprintf 规定了写入str的最大字节数,防止缓冲区溢出

 

posted @ 2013-03-11 17:00  lc_cnblog  阅读(391)  评论(0编辑  收藏  举报