printf、fprintf变参函数封装

本文介绍了如何将fprintf封装成类似printf的接口,用于方便地将调试信息写入文件。通过定义PrintStart(), PrintEnd()和PrintLog()函数,程序在运行时可以轻松记录和管理日志。" 133360794,19671472,通过浏览器轻松开发Microsoft Store应用,"['Windows开发', 'Microsoft', '应用商店', '编程工具', '软件分发']
摘要由CSDN通过智能技术生成
       WINCE下开发的时候,为了方便调试,需要通过串口输出调试信息或者将调试信息已日志形式写入到文件。我们首先想到的的直接调用printf和fprintf输出调试信息和写文件。但这样存在的弊端是不利于编译控制,因为在出版本的时候我们一般是不需要输出或生成这些调试信息的,这就需要能够方便的对是否输出或生成调试信息进行控制,最好的方法是对printf用宏定义方式重新定义,然后定义打印开关确定是否调用printf打印调试信息,最后可以调整代码如下所示:
#define DBG_PRINT // 调试输出开关
#ifdef DBG_PRINT
#define dbgprt(fmt,...)  do{printf("DBG-PRINT:");printf(fmt,##__VA_ARGS__);}while(0)
#else
#define dbgprt(fmt,...) 
#endif

       对于写日志信息到文件,也可以将fprintf的封装成类似于printf函数一样的接口,这样在需要输出调试信息的时候就会很方便的调用了。以下通过对fprintf封装重新定义了一套输出调试信息到文件接口。

/********************************************************************
created:	2011-09-26
author:		firehood
*********************************************************************/
//
#include <stdarg.h>
//

#define PRINT_LOG  // 打印输出开关
#ifdef  PRINT_LOG
void DbgPrintToFileStart(void);
void DbgPrintToFile(c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值