您的位置:首页 > 其它

一个fprintf的简单封装实例(vsprintf,va_start(),+va_arg(),+va_end()可变参数列表)

2011-10-13 15:05 597 查看
对于不方便进行调试的程序,最好的方法,就是将调试信息写入文件了。

下面是一个简单的实例,仅供参考。

程序代码:

#include <string.h>
#include <stdio.h>
#include <stdarg.h>

#ifndef DEBUG
#define DEBUG
#endif

int   LOG2F(const char *format,...)
{
int ret = 0;

#ifdef DEBUG
FILE* fp = NULL;
fp=fopen("log.txt","a+");
if(fp != NULL)
{
va_list   args;
va_start(args,format);
vfprintf(fp,format,args);
va_end(args);
fflush(fp);
}
else
{
ret = 1;
}

if(fp != NULL)
{
fclose(fp);
fp = NULL;
}
#endif

return ret;
}

int main()
{
char *str = "It is a Log test  program!";
int ix = 10;
float fx = 2.0;

LOG2F("%s %d %f\n",str,ix,fx);

return 0;
}


输出:

It is a Log test  program! 10 2.000000


欢迎大家关注我的微信公众号:

微信公众号:sn0wdr1am

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fp null float list