C++实现将文件剪切到temp文件夹里
时间: 2024-09-06 13:04:28 浏览: 24
在C++中,你可以使用标准库中的`fstream`和`filesystem`模块来操作文件,包括剪切文件到另一个位置。这里是一个基本的例子,展示如何将文件剪切(实际上是移动)到指定的临时目录(如`temp`文件夹):
```cpp
#include <iostream>
#include <fstream>
#include <filesystem>
namespace fs = std::filesystem;
void copy_file_to_temp(const std::string& source_path, const std::string& target_dir) {
// 检查目标目录是否存在,不存在则创建
if (!fs::exists(target_dir)) {
fs::create_directory(target_dir);
}
// 获取源文件名,以便构建新路径
std::string filename = fs::path(source_path).filename().string();
std::string target_file = fs::path(target_dir) / filename; // 构建新的完整目标路径
// 使用fstream进行移动操作
std::ifstream in(source_path, std::ios::binary);
std::ofstream out(target_file, std::ios::binary);
// 如果所有操作都成功,则复制内容并关闭文件流
if (in.is_open() && out.is_open()) {
out << in.rdbuf();
in.close();
out.close();
std::cout << "File moved successfully from " << source_path << " to " << target_file << "\n";
} else {
std::cerr << "Error: Unable to move file!" << std::endl;
}
}
int main() {
try {
// 替换为你想要剪切的实际文件路径
copy_file_to_temp("source.txt", "temp");
} catch (const std::exception& e) {
std::cerr << "An error occurred: " << e.what() << std::endl;
}
return 0;
}
```