C++ 遍历文件夹下的所有JPG图片,以创建时间与当前时间差5秒为条件,存入vector容器中
时间: 2024-04-14 18:29:07 浏览: 183
要在C++中遍历文件夹下的所有JPG图片,并将满足条件的图片存入vector容器中,可以使用以下代码:
```cpp
#include <iostream>
#include <filesystem>
#include <vector>
namespace fs = std::filesystem;
int main() {
std::vector<std::string> jpgFiles;
// 指定要遍历的文件夹路径
fs::path folderPath("your_folder_path");
// 遍历文件夹下的所有文件和文件夹
for (const auto& entry : fs::directory_iterator(folderPath)) {
if (entry.is_regular_file() && entry.path().extension() == ".jpg") {
// 获取文件的创建时间
auto createTime = fs::last_write_time(entry);
// 获取当前时间
auto currentTime = std::chrono::system_clock::now();
// 计算时间差(单位:秒)
auto timeDiff = std::chrono::duration_cast<std::chrono::seconds>(currentTime - createTime).count();
// 判断时间差是否小于等于5秒
if (timeDiff <= 5) {
jpgFiles.push_back(entry.path().string());
}
}
}
// 输出满足条件的图片路径
for (const auto& path : jpgFiles) {
std::cout << path << std::endl;
}
return 0;
}
```
请将代码中的 "your_folder_path" 替换为实际的文件夹路径。代码使用了C++17中的 `<filesystem>` 库来进行文件和文件夹的操作。遍历文件夹时,判断文件是否是JPG格式,并计算创建时间与当前时间的差值,将满足条件的文件路径存入vector容器中,并最后输出满足条件的图片路径。
阅读全文