可变参数函数是C语言编程中非常有用的一个功能,在日志打印模块有较多出现, 下面是一个简单例子:
<span style="font-size:18px;">include <stdio.h>
#include <stdarg.h>
static char buf[1024];
int func(char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vsnprintf(buf, 1024, fmt, ap);
va_end(ap);
printf("buf: %s\n", buf);
return 0;
}
int main(void)
{
func("value: %d", 5);
func("Hello world");
func("string value: %s", "Good");
return 0;
}
</span>