一个fprintf的简单封装实例(vsprintf,va_start(),+va_arg(),+va_end()可变参数列表)
对于不方便进行调试的程序,最好的方法,就是将调试信息写入文件了。
下面是一个简单的实例,仅供参考。
程序代码:
#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
最后更新:2017-04-02 06:51:59
上一篇:
Android手机屏幕录像方法
下一篇:
在Android中通过jni方式使用编译好的FFmpeg库-Android中使用FFmpeg媒体库(二)
解压“加密”压缩包办法
C++编程规范之37:公用继承即可替换性。继承,不是为了重用,而是为了被重用
创新释放云计算潜能 科技赋能互联网经济 思科助力阿里巴巴打造新一代数据中心典范
2017数据科学职位报告:R超过SAS,但仍不如Python
Dev gridcontrol获取选定行,指定列单元格的内容
Kafka详解五、Kafka Consumer的底层API- SimpleConsumer
监管收紧,互联网还能颠覆线下吗?
关于新增阿里云等3家单位具备CNVD技术组成员单位资格的公告
Java IO--压缩流ZipOutputStream/ZipInputStream
zoj 长沙 Bizarre Routine 模拟