C/C++实现遍历文件夹中所有文件并复制到另一个目录
作者:野牛程序员:2023-08-29 10:09:08 C++阅读 2816
可以使用以下的C/C++代码来实现遍历文件夹中所有文件并复制到另一个目录的功能:
#include <iostream>
#include <filesystem>
#include <fstream>
#include <string>
namespace fs = std::filesystem;
void copyFile(const fs::path& source, const fs::path& destination) {
std::ifstream src(source, std::ios::binary);
std::ofstream dest(destination, std::ios::binary);
dest << src.rdbuf();
}
void traverseAndCopy(const fs::path& sourceDir, const fs::path& destinationDir) {
for (const auto& entry : fs::directory_iterator(sourceDir)) {
const fs::path& sourcePath = entry.path();
const fs::path& destinationPath = destinationDir / sourcePath.filename();
if (fs::is_regular_file(sourcePath)) {
copyFile(sourcePath, destinationPath);
} else if (fs::is_directory(sourcePath)) {
fs::create_directory(destinationPath);
traverseAndCopy(sourcePath, destinationPath);
}
}
}
int main() {
const fs::path sourceDirectory = "path_to_source_directory"; // 替换为源文件夹的路径
const fs::path destinationDirectory = "path_to_destination_directory"; // 替换为目标文件夹的路径
traverseAndCopy(sourceDirectory, destinationDirectory);
return 0;
}请将上述代码中的 "path_to_source_directory" 替换为源文件夹的实际路径,将 "path_to_destination_directory" 替换为目标文件夹的实际路径。这段代码将遍历源文件夹中的所有文件和子文件夹,并将它们复制到目标文件夹中。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++ 打印换行符影响计时
- 下一篇:c++实现计算器
