新闻| 论坛| 博客| 在线研讨会
fprintf与vfprintf的区别于用法
电子禅石| 2022-08-13 12:24:26 阅读:8437 发布文章

APUE中有个篇章介绍时带出了vfprintf函数。先看下两个函数的声明方式:


#include


int fprintf(FILE *fp, const *format, ...);


成功则输出字符数,出错为负值



#include


#include


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


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
最近文章
签名类型
2024-04-29 16:28:59
cat 文件名
2024-04-29 15:05:34
推荐文章
最近访客