如何比较两个FILETIME变量以查看文件是否超过30天
How to comapre 2 FILETIME variables to see if a file is older than 30 days
我想检查一个文件夹是否超过30天,并有以下代码
static bool ExpiredDirectory(CComBSTR directory)
{
WIN32_FILE_ATTRIBUTE_DATA fileAttrData = {0};
GetFileAttributesEx(directory, GetFileExInfoStandard, &fileAttrData);
FILETIME ftCreatedDate = fileAttrData.ftCreationTime;
FILETIME now;
SYSTEMTIME nowst;
ULARGE_INTEGER t1, t2;
GetSystemTime(&nowst);
SystemTimeToFileTime(&nowst, &now);
---compare code goes here
}
我想比较一下上面的变量,看看ftCreatedDate是否大于30天
我在SYSTEMTIME上的30天差异帮助下修复了这个问题。结果这个人也想这么做。
我的代码现在是
WIN32_FILE_ATTRIBUTE_DATA fileAttrData = {0};
GetFileAttributesEx(directory, GetFileExInfoStandard, &fileAttrData);
FILETIME ftCreationTime = fileAttrData.ftCreationTime;
FILETIME now;
SYSTEMTIME nowst;
ULARGE_INTEGER t1, t2;
GetSystemTime(&nowst);
SystemTimeToFileTime(&nowst, &now);
memcpy(&t1, &ftCreationTime, sizeof(t1));
memcpy(&t2, &now, sizeof(t1));
ULONGLONG diff = (t1.QuadPart<t2.QuadPart)?(t2.QuadPart-t1.QuadPart):(t1.QuadPart-t2.QuadPart);
if(diff>30*24*60*60*(ULONGLONG)10000000)
{
return true;
}
return false;
相关文章:
- 在C++中使用没有合作伙伴Class/Cpp文件的头文件是否实用
- 在头文件上包含 cpp 文件是否有缺点?
- 如何检查文件是否已存在于 fstream C++中
- 预处理的 C/C++ 文件是否特定于计算机?
- 如何使用 jpeglib.h 获取文件是否为 JPEG 类型
- 如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
- 使用 g++ 编译时列出所有 cpp/cc 文件是否正常?
- 如何检查文件是否复制成功?(便携式解决方案)C++
- 如何检查 win32 exe 文件是否已运行?(使用 win32 API 代码)
- 如何检查每个头文件是否包含必需的包含文件?
- 为许多类可能需要的所有常量变量制作独立的头文件是否是一种很好的做法?
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- 如何检查给定文件是否是C++中的有效视频文件?
- 关于使用ifstream在C 中确定文件是否存在的问题
- #include 包含的头文件已包含的头文件是否常见?
- 如何测试文件是否被锁定和/或只读而不打开?
- 检查文件是否具有Windows c ++的可执行权限
- 检查给定的多个文件是否存在
- .txt文件是否已关闭
- 如果给定正确的运行时库,x86 可执行文件是否可以在任何 x86 平台上运行