当前位置:网站首页>VC++指定目录下文件按时间排序输出
VC++指定目录下文件按时间排序输出
2020-11-08 09:40:00 【osc_4punxmqt】
功能: 获取某一指定目录下的所有文件,然后按时间排序保存,一般用于界面展示,或者文件列表排序功能...
//排序
void CSubCameraControlDlg::FileArraySortbySystemTime(CStringArray& _arr)
{
int len = _arr.GetCount();
for(int i=0; i<len-1; i++)
{
int min=i;
for(int j=i+1; j<len; j++)
{
CString strtime1=GetFileLastModifyTime(_arr[min]);
CString strtime2=GetFileLastModifyTime(_arr[j]);
if(lstrcmpi(strtime1,strtime2)>0)
{
min=j;
}
}
CString t=_arr[min];
_arr[min]=_arr[i];
_arr[i]=t;
}
}
//获取时间
CString GetFileLastModifyTime(LPCTSTR strPath)
{
if (!::PathFileExists(strPath))
{
return _T("");
}
WIN32_FIND_DATA ffd ;
HANDLE hFind = FindFirstFile(strPath,&ffd);
if (INVALID_HANDLE_VALUE == hFind)
{
return _T("");
}
SYSTEMTIME st = {0};
FILETIME LocalFileTimel;
FileTimeToLocalFileTime(&ffd.ftLastWriteTime, &LocalFileTimel);
FileTimeToSystemTime(&LocalFileTimel, &st);
CString strFormat;
strFormat.Format(_T("%04d-%02d-%02d %02d:%02d:%02d.%03d"),st.wYear, st.wMonth, st.wDay,
st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
FindClose(hFind);
return strFormat;
}
//查找目录下的文件
void CSubCameraControlDlg::FindDirFile(CString strdir, CStringArray& _arr)
{
TCHAR szPath[MAX_PATH] = {0};
::GetModuleFileName(NULL, szPath, MAX_PATH);
::PathRemoveFileSpec(szPath);
CString strffmpegPath;
::PathCombine(strffmpegPath.GetBufferSetLength(MAX_PATH), szPath, strdir);
// CString filepath = _T("/path/to/folder/");
CString filename = _T("");
CString fullname = _T("");
CFileFind find;
BOOL IsFind = find.FindFile(strffmpegPath + _T("/*.*"));
while (IsFind)
{
IsFind = find.FindNextFile();
if (find.IsDots())
{
continue;
}
else
{
filename = find.GetFileName();
fullname = strffmpegPath + filename;
_arr.Add(fullname);
}
}
}
版权声明
本文为[osc_4punxmqt]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4365009/blog/4707944
边栏推荐
- Six key points of data science interview
- python 循环区分(while循环和for循环)
- 搜索引擎的日常挑战_4_外部异构资源 - 知乎
- Visual studio 2015 unresponsive / stopped working problem resolution
- Python3.9的7个特性
- 蓝牙2.4G产品日本MIC认证的测试要求
- NOIP 2012 提高组 复赛 第一天 第二题 国王游戏 game 数学推导 AC代码(高精度 低精度 乘 除 比较)+60代码(long long)+20分代码(全排列+深搜dfs)
- vivoy73s和荣耀30青春版的区别
- 盘点那些你没想到的云计算应用场景(上)
- Seven features of Python 3.9
猜你喜欢
Brief history of computer
Shiyou's numerical analysis assignment
vivoS7e和vivoS7的区别 哪个更值得入手
print( 'Hello,NumPy!' )
An error occurred while starting the kernel was successfully resolved
Ulab 1.0.0 release
C++在C的基础上改进了哪些细节
python_ scrapy_ Fang Tianxia
That's what software testing is all about?!
来自不同行业领域的50多个对象检测数据集
随机推荐
python_ scrapy_ Fang Tianxia
ASP.NET A complete solution based on exception handling in MVC
Introduction to ucgui
2020天翼智能生态博览会中国电信宣布5G SA正式规模商用
糟糕,系统又被攻击了
Game mathematical derivation AC code (high precision and low precision multiplication and division comparison) + 60 code (long long) + 20 point code (Full Permutation + deep search DFS)
Bili Bili common API
Unparseable date: 'mon Aug 15 11:24:39 CST 2016', time format conversion exception
Unparseable date: 'Mon Aug 15 11:24:39 CST 2016',时间格式转换异常
异常+abstract
Japan PSE certification
Oops, the system is under attack again
Face recognition: attack types and anti spoofing techniques
OSChina 周日乱弹 —— 之前呢,我一直以为自己是个……
M 端软件产品设计思虑札记 - 知乎
数据科学面试应关注的6个要点
How did Julia become popular?
ulab 1.0.0发布
Six key points of data science interview
Littlest JupyterHub| 02 使用nbgitpuller分发共享文件