outputdebugstring函数的封装

使用debugview分析问题时,outputdebugstring函数可以在debug和release版本中都显示信息,这比trace更加实用,但前提是你必须将它的参数形式修改成和trace或printf函数一样,下面给出简单修改后的函数形式,并利用宏定义实现日志输出:

int  DebugPrintf(LPCTSTR ptzFormat, ...)
{
	va_list vlArgs;
	TCHAR tzText[1024];
	va_start(vlArgs, ptzFormat);
	//返回-1说明缓存不够 使用下面方式获取实际所需长度
	//int iRealSize= _vsntprintf(NULL,0, ptzFormat, vlArgs);
	int iRet= _vsntprintf(tzText,1024, ptzFormat, vlArgs);
	if (iRet<0)
	{
		tzText[1023] = '\0';
	}
	OutputDebugString(tzText); 
	va_end(vlArgs);
	return iRet;
}

#define LOG_PRINTF DebugPrintf

#define  CONSTSTR_DEBUG		"[DEBUG] "
#define  CONSTSTR_INFO		"[INFO] "
#define  CONSTSTR_WARNING	"[WARNING] "
#define  CONSTSTR_ERROR		"[ERROR] "


#define  LOGLEVEL_DEBUG		1
#define  LOGLEVEL_INFO		2
#define  LOGLEVEL_WARN		3
#define  LOGLEVEL_ERROR		4



int AppLogLevel()
{
	static int iLogLevel =-1;
	if(iLogLevel<0)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值