valist
最近在编写日志模块时,用到va_list,因为输出会包含不定数目的参数。
要求是在函数参数列表里,用...表明多个参数,但...之前必须得有一个参数。
声明va_list args,
void logDebug(char *p, ...)
{
va_list args;
/* 之所以...前要有一个参数,是用于初始化args时,指定第一个参数 */
/* 此时,我用p作为format */
va_start(args, p);
/* 而args里,没有p,是...部分 */
vfprintf(fp, p, args);
/* 如此,把args以p的格式,写入到fp */
va_end(args);
/* 释放args */
}
posted on 2021-04-03 20:04 toughcactus 阅读(255) 评论(0) 收藏 举报
浙公网安备 33010602011771号