CFileFind::GetLastWriteTime 是 CFileFind 类的一个公共方法,用于获取当前找到的文件或目录的最后修改时间。这个方法返回一个 CTime 对象,表示文件或目录的最后修改时间。

以下是一个简单的示例,演示如何使用 CFileFind::GetLastWriteTime 方法来获取文件或目录的最后修改时间:
#include <afx.h>

void FindFilesInDirectory(const CString& directory)
{
    CFileFind finder;

    // 构造函数初始化,设置初始查找路径
    BOOL bWorking = finder.FindFile(directory + _T("\\*.*"));

    if (bWorking)
    {
        // 查找成功,继续处理找到的文件或目录
        while (bWorking)
        {
            bWorking = finder.FindNextFile();  // 查找下一个文件

            if (finder.IsDots())
                continue; // 忽略 "." 和 ".."

            if (finder.IsDirectory())
            {
                // 处理子目录
                // finder.GetLastWriteTime() 在目录情况下可能不可用
                // ...
            }
            else
            {
                // 处理文件
                // finder.GetLastWriteTime() 可以获取当前找到的文件的最后修改时间
                CTime lastWriteTime = finder.GetLastWriteTime();
                // 处理最后修改时间,比如输出到控制台
                wprintf(_T("File: %s, Last Write Time: %s\n"), finder.GetFileName(), lastWriteTime.Format(_T("%Y-%m-%d %H:%M:%S")));
            }
        }

        finder.Close(); // 关闭文件查找
    }
    else
    {
        // 查找失败,可能目录不存在或其他错误
        // 处理错误情况
    }
}

在上述示例中,finder.GetLastWriteTime() 被用于获取当前找到的文件的最后修改时间。返回的 CTime 对象可以通过 Format 方法格式化为字符串,以便在程序中使用或显示。

需要注意的是,CFileFind::GetLastWriteTime 仅在调用 FindNextFile 成功找到文件或目录时才有效。如果在调用此方法之前没有调用 FindNextFile,则可能无法获取正确的最后修改时间。




转载请注明出处:http://www.pingtaimeng.com/article/detail/17785/MFC/CFileFind