我只是想要文件的创建或修改时间,并与系统时间进行比较。
if (fileExtensions[i] == restoken && lmdCheck.GetCheck() == true)
{
testbox3.AddString(allFiles[i]);
CFileStatus status;
CFile cfile;
//cfile.Open(allFiles[i],NULL,NULL);
cfile.Open(allFiles[i], CFile::modeRead | CFile::modeWrite);
CTime t = CTime::GetCurrentTime();
TRACE(t.Format(L"%X\n"));
SYSTEMTIME SystemTime;
//::GetSystemTime(&SystemTime);
::GetLocalTime(&SystemTime);
CTime SystemT(SystemTime);
TRACE(SystemT.Format(L"%X\n"));
ULONGLONG dwNewLength = 10000;
cfile.SetLength(dwNewLength);
if (cfile.GetStatus(status))
{
if (status.m_ctime < SystemTime)
{
cfile.Close();
CFile::Remove(allFiles[i]);
}
}
}
并删除小于系统时间的文件。请帮忙?
最佳答案
抱歉,我的错误。我不想要系统时间我想要数据和时间选择器数据。 我用这段代码解决了我的问题。
for (int i = 0; i < allFiles.GetSize(); i++)
{
GetFileExt(allFiles[i]);
CString str, restoken;
fileExt.GetWindowText(str);
int curPos = 0;
restoken = str.Tokenize(_T(" "), curPos);
while (restoken != _T(""))
{
textBox2.AddString(restoken);
int a = fileExtensions.GetSize();
if (fileExtensions[i] == restoken && lmdCheck.GetCheck() == true)
{
testbox3.AddString(allFiles[i]);
CFileStatus status;
CFile cfile;
cfile.Open(allFiles[i], CFile::modeRead | CFile::modeWrite);
if (cfile.GetStatus(status))
{
CTime variable, clDate;
lmdDate.GetTime(clDate);
if (status.m_mtime < clDate)
{
cfile.Close();
CFile::Remove(allFiles[i]);
}
}
}
restoken = str.Tokenize(_T(" "), curPos);
}
再见,谢谢各位 friend 。
关于c++ - 获取文件创建或修改时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29381886/