一个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 模拟