日志管理类 mfc

#include"stdafx.h"

 

class LogManage

{

 private:

       CString content;//需要保存的内容
        CString  FileStr://保存.txt的地址,相关于FilePath

public:

        LogManage(){}

       ~LogManage(){}

        BOOL SaveLog();

         CString GiveLog();//返回日志文件内容的函数

         void  WriteLog(CString  cont);//将cont的内容,写入FilePath文件夹下

         CString    FilePath;//(其实不应该存在这样的可访问的成员变量,应该把它放函数里)这里是MFC客户选择的需要保存的文件夹地址或者

         //和读取文件的地址

}

//===================================以下是源文件=====================================================

#include"stdafx.h"

#include"LogManage.h"

 

BOOL  LogManage::SaveLog()

{

    FILE*  file;

    if(file = fopen(FileStr.GetBuffer(),"a+"))//FileStr.GetBuffer():是文件绝对地址(带.txt的)字符窜指针,a+:代表在该文件末尾追加写;

    {

          CString  str = "       "+content+"\n";//content:是类成员变量,是要写的内容

           fwrite(str,strlen(str),1,file);//调用函数写入file指向的txt文件

           fclose(file);

           return TRUE;

    }

    return false;

}

//====================

CString LogManage::GiveLog()

{

       FILE* file;

       char szLog[10240]={0};//   一次性将日志读出后所要存放的局部空间

       CString  txt="";//以后返回的内容

        file = fopen(FilePath.GetBuffe(),"rb");//rb:能读出换行符, 这里传入的FilePath也是到TXT得(类写的有点乱自己看着修改);

        if(file==NULL)

        {

                return txt;

        }

         else

         {

               fread(szLog,1,1024,file);

               fclose(file);

               txt = szLog;

              return   txt;

         }

}

//========================

void LogManage::WriteLog(CString cont)

{

      content = cont;

       CTime time = CTime::GetCurrentTime();//time得到当前时间

      CString Tim = time.Format("%Y-%m-%d");//设置字符窜格式

       FileStr.Format("%s%s.txt",FilePath,Tim);//将要写的文件名,命名为“选定的文件夹地址+时间.txt”

       FILE* file;

       file = fopen(FileStr.GetBuffer(),"a+");

       if( file == NULL)

       {

               AfxMessageBox("不存在即将保存的日志文件夹,请确认所选文件夹是否存在!");

               return ;

       }

        Tim = time.Format("%H:%M:%S");//将Tim字符窜改为  **时:**分:**秒

        CString str=Tim+":\n";

        fwrite(str.GetBuffer(),strlen(str),1,file);// 只是写入当前时间

        fclose(file);

        SaveLog();//将主要内容写入日志

}

//============================简单的类用法举例============

#include"LogManage.h"

............................

LogManage  Log;

Log.FilePath = "*********";//***处事绝对文件夹地址

Log.WriteLog(cont);//cont:  是CString形式的,你要写入的内容

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值