Chinaunix首页 | 论坛 | 博客
  • 博客访问: 916008
  • 博文数量: 87
  • 博客积分: 3324
  • 博客等级: 中校
  • 技术积分: 1003
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-17 11:37
文章分类

全部博文(87)

文章存档

2014年(3)

2013年(5)

2012年(21)

2011年(13)

2010年(7)

2009年(9)

2008年(4)

2007年(14)

2006年(11)

分类: C/C++

2012-07-20 15:36:33

u_char * ngx_cdecl
ngx_snprintf(u_char *buf, size_t max, const char *fmt, ...)

对这个函数的返回值一直比较迷惑,今天特别调试了一下,发现这个函数的返回值指的是buf这个缓冲区中,下一个位置,也就是p的前面的位置已经被函数里面的内容填充了。

但是特别注意的是,如果buf里面已经被写满了,那么p指向的位置实际上已经不属于buf这个数组所包含的地址了。

但是无论如何, 通过p-buf总是能算出有多少内容被写入了buf中。

那么当p-buf=max的时候,显然就写满了。而且当写满的时候,我们是无法判断出是否东西都已经被正确写入了buf. 但是如果p-buf
注意:该函数是不会写'\0'到buf的末尾的!
阅读(4468) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~