C ++ 复制文件夹内文件到指定路径
时间: 2023-12-27 08:01:58 浏览: 25
你可以使用C++的文件操作函数来复制文件夹内的文件到指定路径。以下是一个简单的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <filesystem>
namespace fs = std::filesystem;
// 复制文件到指定路径
bool copyFile(const fs::path& source, const fs::path& destination)
{
std::ifstream src(source, std::ios::binary);
std::ofstream dst(destination, std::ios::binary);
dst << src.rdbuf();
return src && dst;
}
// 复制文件夹到指定路径
void copyDirectory(const fs::path& sourceDir, const fs::path& destinationDir)
{
if (!fs::exists(destinationDir)) {
fs::create_directory(destinationDir);
}
for (auto& file : fs::directory_iterator(sourceDir)) {
if (fs::is_directory(file)) {
copyDirectory(file.path(), destinationDir / file.path().filename());
} else {
copyFile(file.path(), destinationDir / file.path().filename());
}
}
}
int main()
{
// 复制源文件夹内的文件到目标路径
fs::path sourceDir = "源文件夹路径";
fs::path destinationDir = "目标文件夹路径";
copyDirectory(sourceDir, destinationDir);
return 0;
}
```
在上面的代码中,我们使用了C++17中的std::filesystem库来进行文件操作。我们定义了两个函数,其中copyFile函数用于复制单个文件,copyDirectory函数用于复制整个文件夹。最后,在main函数中,我们指定了源文件夹路径和目标文件夹路径,并调用copyDirectory函数来完成复制。
请注意,上述代码仅适用于Windows平台。在其他平台上,文件路径的格式可能会有所不同。