请给出一段c++代码,遍历文件夹下所有以.jpg为拓展名的图片并将图片的名字改成1,2,3等按顺序排序
时间: 2024-04-11 12:27:06 浏览: 107
以下是一个示例的 C++ 代码,用于遍历文件夹下所有以 .jpg 为拓展名的图片,并将图片的名字改成 1、2、3 等按顺序排序:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
std::string folder_path = "your_folder_path";
int count = 1;
for (const auto& entry : fs::directory_iterator(folder_path)) {
if (entry.path().extension() == ".jpg") {
std::string new_name = std::to_string(count) + ".jpg";
std::string new_path = folder_path + "\\" + new_name;
fs::rename(entry.path(), new_path);
std::cout << "Renamed " << entry.path().filename() << " to " << new_name << std::endl;
count++;
}
}
return 0;
}
```
在代码中,你需要将 `your_folder_path` 替换为你要遍历的文件夹的路径。代码会遍历该文件夹下的所有文件和子文件夹,并判断每个文件的扩展名是否为 .jpg。如果是以 .jpg 结尾的文件,将其名字改为按顺序排序的数字,并在原位置重命名。
请注意,在使用 C++ 的 `std::filesystem` 库之前,确保你的编译器支持 C++17 标准或更高版本。另外,运行代码之前请备份文件,以防不可逆的损失。
阅读全文