C++ 拷贝指定文件夹的图像复制到指定文件夹
时间: 2024-09-24 14:05:23 浏览: 44
在C++中,你可以使用标准库中的`filesystem`模块以及一些基本的文件操作函数来复制文件夹中的图像(通常是`.jpg`, `.png`, 等等)。以下是一个简单的示例,说明如何将源文件夹中的图片复制到目标文件夹:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
void copy_images(const std::string& src_folder, const std::string& dest_folder) {
if (!fs::exists(src_folder)) {
std::cerr << "Source folder does not exist!" << std::endl;
return;
}
if (!fs::exists(dest_folder)) {
fs::create_directory(dest_folder);
}
for (const auto & entry : fs::directory_iterator(src_folder)) {
if (entry.is_regular_file() && entry.path().has_extension()) { // 只处理普通文件并检查是否有扩展名
std::string src_path = entry.path().string();
std::string dest_path = dest_folder + "/" + entry.path().filename(); // 构建目标路径
try {
fs::copy(entry.path(), dest_path); // 尝试复制文件
std::cout << "Copied file: " << entry.path().filename() << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error copying file: " << e.what() << std::endl;
}
}
}
}
int main() {
std::string src_dir = "source_folder";
std::string dst_dir = "destination_folder";
copy_images(src_dir, dst_dir);
return 0;
}
```
这个程序会遍历源文件夹中的每个文件,如果它是常规文件并且有扩展名,就尝试复制它到目标文件夹。
阅读全文