"); //-->
APUE中有个篇章介绍时带出了vfprintf函数。先看下两个函数的声明方式:
#include <stdio.h>
int fprintf(FILE *fp, const *format, ...);
成功则输出字符数,出错为负值
#include <stdarg.h>
#include <stdio.h>
int vfprintf(FILE *fp, const char *format, va_list arg);
返回值同fprintf
两个函数从声明看,第三个参数有区别,这样就形成了两个函数不同的作用。比如,你要写一个日志函数
void log(FILE *file, const char* format, ... )
{
va_list args;
va_start (args, format);
fprintf(file, "%s: ", getTimestamp());
vfprintf (file, format, args); //在这个地方用vfprintf函数就很合适,因为第三个参数可以直接得到
va_end (args);
}
vfprintf适合参数可变列表传递。
————————————————
原文链接:https://blog.csdn.net/xingzhi2014/article/details/20392251
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。