ngx_sprintf
定义在 src\core\ngx_string.c
u_char * ngx_cdecl
ngx_sprintf(u_char *buf, const char *fmt, ...)
{
    u_char   *p;
    va_list   args;
    va_start(args, fmt);
    p = ngx_vslprintf(buf, (void *) -1, fmt, args);
    va_end(args);
    return p;
}底层实现依赖于
ngx_vslprintf
va_start(args, fmt);初始化
args,使其指向可变参数的起始位置(即fmt之后的第一个参数)
p = ngx_vslprintf(buf, (void *) -1, fmt, args);调用 ngx_vslprintf
将格式化内容写入
buf
buf:输出缓冲区。
(void *) -1:特殊标志,表示不限制输出长度
fmt:格式字符串。
args:可变参数列表。返回值 :
p指向格式化后的字符串末尾(含终止符\0)
ngx_vslprintf-CSDN博客
va_end(args);清理
args,结束可变参数的遍历
return p;返回格式化后的字符串末尾指针
