返回首页

好吧,我有这个代码,这是给我一个目录中的文件的数量和它的工作只是跳跳。我现在有和我hopeing这是我最后一个问题是,我想只有不到一分钟老的文件。只是我怎么该过滤器添加此代码?欢迎任何建议。谢谢你这么大的每一个人。


struct file_data 

{ 

    std::wstring sLastAccessTime; 

    __int64 nFileSize      ; 

}; 

 

int GetFileList(const wchar_t *searchkey, std::map &map) 

{ 

    WIN32_FIND_DATA fd; 

    HANDLE h = FindFirstFile(searchkey,&fd); 

    if(h == INVALID_HANDLE_VALUE) 

    { 

        return 0; // no files found 

    } 

    while(1) 

    { 

        wchar_t buf[128]; 

        FILETIME ft = fd.ftLastWriteTime; 

        SYSTEMTIME sysTime; 

        FileTimeToSystemTime(&ft, &sysTime); 

        wsprintf(buf, L"%d-%02d-%02d",sysTime.wYear, sysTime.wMonth, sysTime.wDay); 

 

        file_data filedata; 

        filedata.sLastAccessTime= buf; 

        filedata.nFileSize      = (((__int64)fd.nFileSizeHigh) << 32) + fd.nFileSizeLow; 

 

        map[fd.cFileName]= filedata; 

 

        if (FindNextFile(h, &fd) == FALSE) 

            break; 

    } 

    return map.size(); 

}
:7766180 |会员

回答

评论会员: 时间:2