C++ 拷贝文件夹及下面的文件
时间: 2024-03-25 12:39:04 浏览: 72
在C++中,可以使用文件流(fstream)来实现拷贝文件夹及其下面的所有文件。
以下是一个简单的例子:
```cpp
#include <iostream>
#include <fstream>
#include <filesystem>
void copyFolder(const std::string& source, const std::string& destination) {
// 创建目标文件夹
std::filesystem::create_directory(destination);
// 遍历源文件夹中的所有文件
for (const auto& entry : std::filesystem::directory_iterator(source)) {
// 构建目标文件的路径
std::filesystem::path destinationPath = destination;
destinationPath /= entry.path().filename();
// 拷贝文件
std::ifstream src(entry.path().string(), std::ios::binary);
std::ofstream dst(destinationPath.string(), std::ios::binary);
dst << src.rdbuf();
}
}
int main() {
// 拷贝源文件夹及其下面的所有文件到目标文件夹
copyFolder("/path/to/source/folder", "/path/to/destination/folder");
return 0;
}
```
这段代码使用了C++17中的文件系统库(filesystem)来实现拷贝文件夹及其下面的所有文件。首先,我们创建了目标文件夹,然后使用目录迭代器遍历源文件夹中的所有文件。对于每个文件,我们构建目标文件的路径,并使用文件流(fstream)来拷贝文件。
阅读全文