windows下C plus11遍历目录7天前的文件
时间: 2024-05-01 11:17:05 浏览: 10
以下是使用C++11在Windows系统下遍历7天前的文件的示例代码:
```c++
#include <iostream>
#include <chrono>
#include <ctime>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
// 获取当前时间
auto now = std::chrono::system_clock::now();
// 将当前时间减去7天
auto sevenDaysAgo = now - std::chrono::hours(24 * 7);
// 遍历当前目录下的所有文件
for (const auto& entry : fs::directory_iterator(".")) {
// 如果当前文件是一个普通文件
if (entry.is_regular_file()) {
// 获取当前文件的最后修改时间
auto lastModified = fs::last_write_time(entry);
// 将最后修改时间转换为time_t类型
auto lastModifiedTime = decltype(lastModified)::clock::to_time_t(lastModified);
// 如果最后修改时间早于7天前的时间
if (lastModifiedTime < std::chrono::system_clock::to_time_t(sevenDaysAgo)) {
// 输出当前文件的路径
std::cout << entry.path() << std::endl;
}
}
}
return 0;
}
```
该程序使用了C++11中的std::filesystem库来遍历目录和获取文件信息。在遍历过程中,使用last_write_time函数获取文件的最后修改时间,并将其转换为time_t类型以与七天前的时间进行比较。如果文件的最后修改时间早于七天前的时间,则输出该文件的路径。