Linux snprintf使用总结

snprintf()函数用于将格式化的数据写入字符串,其原型为:
    int snprintf(char *str, int n, char * format [, argument, ...]);

【参数】str为要写入的字符串;n为要写入的字符的最大数目,超过n会被截断;format为格式化字符串,与printf()函数相同;argument为变量。

【返回值】成功则返回参数str 字符串长度,失败则返回-1,错误原因存于errno 中。

snprintf()拷贝n-1个字符串到str中,同时在结尾添加'\0';所以若要拷贝的字符串长度为10,则n应该为11,如

 

char buf[1024] = {0};

char* tmp = "aaaaaaaaaaaaaaaaaa";

snprintf(buf, strlen(tmp)+1, "%s", tmp);

posted @ 2017-06-28 18:18  莘莘学子  阅读(1684)  评论(0编辑  收藏  举报