C++刪除指定文件夾下N天及之前日志文件的方法
本文實例講述了C++刪除指定文件夾下N天及之前日志文件的方法。分享給大家供大家參考。具體如下:
// 功能:刪除nDays天及之前的日志文件
// @nDays: 0-不刪除日志,3-刪除3天及之前的日志(保留今天、昨天、前天的日志) ...
void CRecordLog::ClearLog(UINT nDays) // 刪除N天前的日志
{
if (nDays > 0)
{
WIN32_FIND_DATA FindFileData;
CString sAllFile = m_sLogFolder + "\\*.log";
HANDLE hFind = ::FindFirstFile(sAllFile, &FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) // 遇到文件夾
{
}
else // 遇到文件
{
CString sFileName;
sFileName.Format("%s", FindFileData.cFileName);
if (sFileName.GetLength() == 14)
{
CString sFileFullPath = m_sLogFolder + "\\" + sFileName;// 文件全路徑
sFileName.Replace("-", "");
__int64 nFileName = _atoi64(sFileName); // 取得文件的日期,如:20101030
CTime tNowTime = CTime::GetCurrentTime();
tNowTime = tNowTime - CTimeSpan(nDays, 0, 0, 0); // 指向nDays天前的日期
__int64 nNowTime = _atoi64(tNowTime.Format("%Y%m%d"));
if (20000000 < nFileName && nFileName < nNowTime)
{
::DeleteFile(sFileFullPath);
}
}
}
if(!FindNextFile(hFind, &FindFileData))
break;
}
FindClose(hFind);
}
}
補充:上面被刪除的日志文件的文件名格式為:2011-02-08.log
希望本文所述對大家的C++程序設(shè)計有所幫助。
相關(guān)文章
C++數(shù)位DP復(fù)雜度統(tǒng)計數(shù)字問題示例詳解
這篇文章主要為大家介紹了利用C++數(shù)位DP的復(fù)雜度來統(tǒng)計數(shù)字問題的示例實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升值加薪2021-11-11
Visual Studio 2019安裝使用C語言程序(VS2019 C語言)
這篇文章主要介紹了Visual Studio 2019安裝使用C語言程序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
C++使用new和delete進行動態(tài)內(nèi)存分配與數(shù)組封裝
這篇文章主要介紹了C++使用new和delete進行動態(tài)內(nèi)存分配與數(shù)組封裝,運行期間才能確定所需內(nèi)存大小,此時應(yīng)該使用new申請內(nèi)存,下面我們就進入文章學(xué)習(xí)具體的操作方法,需要的小伙伴可以參考一下2022-03-03
C語言數(shù)據(jù)結(jié)構(gòu)之單鏈表操作詳解
鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文將和大家一起聊聊C語言中單鏈表的常用操作,感興趣的可以學(xué)習(xí)一下2022-07-07
C++中g(shù)etline()、gets()等函數(shù)的用法詳解
這篇文章主要介紹了C++中g(shù)etline()、gets()等函數(shù)的用法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
詳解C語言中for循環(huán)與while循環(huán)的用法
這篇文章主要通過幾個示例為大家介紹一下C語言中for循環(huán)與while循環(huán)的用法以及二者的區(qū)別,文中的代碼講解詳細,對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下2022-07-07
使用Qt的QChartView實現(xiàn)縮放和放大功能
QCustomPlot是一個小型的Qt畫圖標(biāo)類,支持繪制靜態(tài)曲線、動態(tài)曲線、多重坐標(biāo)曲線,柱狀圖,蠟燭圖,這篇文章主要介紹了Qt的QChartView實現(xiàn)縮放和放大功能,需要的朋友可以參考下2022-09-09

