博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的c++写日志类
阅读量:5150 次
发布时间:2019-06-13

本文共 2317 字,大约阅读时间需要 7 分钟。

在开发当中有的直接调试很方便,有的就不太好调试,所以我经常使用写日志以及输出Debug信息来进行开发。尽管我比较喜欢使用以输出Debug的信息的方式来跟踪程序。因为直接一句话:

OutputDebugString("你想输出的信息\r\n");

 就可以在非调试模式下直接在DebugView上面显示输出信息了。

但是除了这种方式之外有时侯我也会使用写日志的方式来输出调试信息,虽然写文件很简单,但还是记录一下吧。方便自己同时也可能方便需要的人吧。

首先是main()函数定义:

1 #include "RcLogInfo.h" 2  3 int main(void) 4 { 5     // 6     char cPath[MAX_PATH]; 7     memset(cPath,0,MAX_PATH); 8     if (!GetModuleFileName(NULL,cPath,MAX_PATH)) 9     {10         return false;11     }12     char *FileName = cPath + strlen(cPath)-1;13     while(*FileName !='\\')14     {15         --FileName;16     }17     *FileName = '\0';18     char cFileName[MAX_PATH]={
'\0'};19 sprintf(cFileName,"%s\\%s",cPath,"TestLog.log");20 21 22 //23 FILE *m_pfLogFile=NULL;24 if(NULL != m_pfLogFile)25 {26 fclose(m_pfLogFile);27 }28 m_pfLogFile = fopen(cFileName,"at+");29 if(NULL == m_pfLogFile)30 {31 return 1;32 }33 34 35 //36 RcLogInfo rl;37 rl.SetLogFile(m_pfLogFile);38 39 40 //41 timeb aTime;42 ftime(&aTime);43 sprintf(rl.m_cInfo,"写日志测试******************************+++++++++++++++++++++++_________________%s .%ld ms\n",ctime(&(aTime.time)),aTime.millitm);44 rl.WriteLogInfo(rl.m_cInfo);45 46 47 return 0;48 49 50 }

下面是一个写日志类实现:

/**	写日志类**/#pragma once#include 
#include
#include
#include
using namespace std;class RcLogInfo{public: RcLogInfo(void); ~RcLogInfo(void);public: //日志文件 FILE* m_pfLogFile; char m_cInfo[255]; int SetLogFile(FILE *pfLogFile); int WriteLogInfo(const char *pInfo);};

 cpp文件:

1 #include "RcLogInfo.h" 2  3 RcLogInfo::RcLogInfo(void) 4 { 5     m_pfLogFile = NULL; 6     memset(m_cInfo,NULL,sizeof(m_cInfo)); 7 } 8  9 RcLogInfo::~RcLogInfo(void)10 {11     if (NULL != m_pfLogFile)12     {13         fclose(m_pfLogFile);14         m_pfLogFile = NULL;15     }16 }17 18 int RcLogInfo::SetLogFile(FILE *pfLogFile)19 {20     m_pfLogFile=pfLogFile;    21     return 0;22 }23 24 int RcLogInfo::WriteLogInfo(const char *pInfo)25 {26     if(NULL != m_pfLogFile)27     {28         fprintf(m_pfLogFile,"%s",pInfo);29         fflush(m_pfLogFile);30         return 0;31     }32     return 1;33 34     35 }

结束~~~

 

 

转载于:https://www.cnblogs.com/wainiwann/archive/2013/01/30/2882308.html

你可能感兴趣的文章
《20171122-构建之法:现代软件工程-阅读笔记》
查看>>
谈谈对于企业级系统架构的理解—李平
查看>>
请你不要去指责
查看>>
PHP常用正则表达式
查看>>
Linux学习总结(四)-两种模式修复系统,单用户,救援模式
查看>>
Lambda表达式
查看>>
srm537 div1-3 最小费用最大流
查看>>
软件项目中的功能点法估算-原理
查看>>
IOS 获取中英文字符串长度
查看>>
Qt 获取组合键 键盘按住某键 鼠标组合实现
查看>>
php分享十七:http状态码
查看>>
php分享三十二:php调试工具
查看>>
MySQL_安装_版本8.0
查看>>
查找 nginx 路径
查看>>
Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )
查看>>
博客落户
查看>>
Linux虚拟机的安装(使用Centos6.3)
查看>>
VC++ 动态DLL模板-DllMain函数
查看>>
K3Cloud 设置分录的字段颜色
查看>>
C语言初学 俩数相除问题
查看>>