资源简介
由于项目经常调试,会经常累积大量日志,因此需要写一个定时删除的功能,代码中精确到秒,路径可以自己输入,也可以默认为当前路径(Glog文件,需自己创建一个空文件),代码中包含写日志,因此可以自己测试,由于写得急促,多处需要优化。由于代码使用线程写的,因此可以很方便地移植到其他项目中。
代码片段和文件信息
#include “Glog.h“
#include “delglog.h“
using namespace std;
unsigned int __stdcall DelglogRun(void *arg)
{
string s=Delglog::GetInstance()->GetPath();
//string s=“C:\\ScraperThreeD\\Glog“;
char* c;
const int len = s.length();
c = new char[len+1];
strcpy(cs.c_str());
Delglog::GetInstance()->DelglogRealize(c);
return 0;
}
Delglog *Delglog::m_pDelglog = new Delglog();
void Delglog::DelglogStart()
{
HANDLE hThread;
hThread = (HANDLE)_beginthreadex(NULL 0 DelglogRun NULL 0 NULL);
}
string Delglog::GetPath()
{
char szExePath[MAX_PATH] = {0};
GetModuleFileNameA(NULLszExePathMAX_PATH);
string strExsPath = szExePath;
int pos1 = strExsPath.find_last_of(‘\\‘);
string strAppName(strExsPath.substr(pos1 + 1) );
string a = strExsPath.substr(0pos1);
int pos2 = a.find_last_of(‘\\‘);
string b = a.substr(0pos2);
int pos3 = strAppName.find_last_of(‘.‘);
strAppName = strAppName.substr(0pos3);
string strLogPath = b +“\\Glog“;
return strLogPath;
}
//获取文件创建时间,若从其它路径移过来的文件以这个文件移过来的时间为准
string Delglog::FileTime(PFILETIME pfile)
{
FILETIME fileTime;
SYSTEMTIME st;
FileTimeToLocalFileTime(pfile&fileTime);
FileTimeToSystemTime(&fileTime &st);
string time;
string sysmsdshsmisse;//年月日,时分秒
stringstream ssyssmssdsshssmissse;
ssy< ssy>>sy;
ssm< ssm>>sm;
if(atoi(sm.c_str())<10)
sm=“0“+sm;
ssd< ssd>>sd;
if(atoi(sd.c_str())<10)
sd=“0“+sd;
ssh< ssh>>sh;
if(atoi(sh.c_str())<10)
sh=“0“+sh;
ssmi< ssmi>>smi;
if(atoi(smi.c_str())<10)
smi=“0“+smi;
ssse< ssse>>sse;
if(atoi(sse.c_str())<10)
sse=“0“+sse;
time=sy+sm+sd+sh+smi+sse;
LOG(INFO)<<“ftime: “< return time;
//cout<}
//函数功能: 扫描查找文件
//参数说明:
//szPath:需要扫描的目录
void Delglog::DelglogRealize(char *szPath)
{
WIN32_FIND_DATAA FindFileData;
char szFileToFind[MAX_PATH] = {0};
lstrcpyA(szFileToFind szPath);
lstrcatA(szFileToFind “\\*.*“);
//cout< //printf(“\n“);
//查找目录下所有文件
HANDLE hFile = FindFirstFileA(szFileToFind&FindFileData);
if (hFile == INVALID_HANDLE_VALUE)return;
do
{
char szNewPath[MAX_PATH] = {0};
lstrcpyA(szNewPath szPath);
if(szPath==“*.“)
{
LOG(INFO)< //printf(“\n“);
}
//判断是否是目录
if (FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
//判断是否是.或..(没有下级文件?)
if (!lstrcmpA(FindFileData.cFileName “.“) || !lstrcmpA(FindFileData.cFileName “..“))
{
}
else
{
//递归查找下级目录
lstrcatA(szNewPath “\\“);
lstrcatA(szNewPath FindFileData.cFileName);
Delglog::DelglogRealize(szNewPath);
相关资源
- Rational Rose Common破解文件
- Web Api 通过文件流 文件到本地
- 右键属性文件校验插件可同时生成十
- CCS中如何生成LIB文件-并在另外CCS项目
- TI CCS V5.4 安装步骤及破解文件
- 清翔电子MCS51开发板资料_新版 01_开发
- 三星DDR800内存条PCB文件和原理图
- ASUS BIOS 加NVME协议文件: Nvme.ffs NV
-
大数据。基于Hba
se的网站日志分析系 - adams vibration 练习原文件
- VC 获得文件属性 获取文件的创建时
- STM32基于rt_thread操作系统的SDHC卡文件
- [免费]安全加密软件U盘加密,文件加
- “暴风一号”(“1KB文件夹快捷方式
- 加密cad图形的lisp文件
- 德卡D3读卡器测试程序驱动文件
- dsp2812上128点FFTc程序以及其CMD文件
- hidusage.h hidpi.h 等USB开发用头文件
- zen_cart_1.3.9h_ 配置文件优化
- Google Earth KML文件生成工具
- J2EE 配置文件
- UNICODE GBK双向码表二进制文件
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- Adobe Illustrator CS5原版amtlib.dll文件
- ply格式文件的读写程序
- 使用OpenFileDialog打开文件对话框.rar
- saber 扫频分析仿真文件
- 透明加密源码及说明
- Openssl给文件传输加密
- MP3文件ID3v2ID3v2APEv2标签读取
评论
共有 条评论