c++ - 获取文件创建或修改时间?

标签 c++ winapi mfc

我只是想要文件的创建或修改时间,并与系统时间进行比较。

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/

相关文章:

c++ - 转换一串整数的最有效方法是什么,例如(1,5,73,2) 成一个整数数组?

c++ - win32 c++ 弹出窗口在以编程方式调整大小时闪烁很多

com - 是否有开源的 Common Lisp COM 包装器?

winapi - 如何在 Inno Setup 中使用 GetVolumeInformation?

c++ - 是否有可能获得由 'new' 分配的内存块大小?

c++ - 使用 std::ranges 摆脱嵌套的 for 循环

c++ - 您如何对内存消耗进行基准测试?

c++ - 应该使用 CDialog 还是 CFramewnd 来构建绘图应用程序?

c++ - 为什么这个 Windows 消息循环不处理快捷键/tab 键?

c++ - 为什么最小 MFC 项目在 Visual Studio 2013 上有链接错误?