C++ 删除文件夹以及所有子目录
时间: 2024-10-10 15:17:00 浏览: 91
(VS2010 C++)删除指定目录及其下所有的文件夹,文件
在C++中,删除一个包含子目录的文件夹通常是通过`<filesystem>`库中的`remove_all`或类似功能实现的,这个库在C++17及以上版本中可用。以下是使用`std::filesystem`的例子:
```cpp
#include <filesystem>
namespace fs = std::filesystem;
void remove_directory_tree(const fs::path& path) {
if (fs::exists(path)) {
try {
fs::remove_all(path);
std::cout << "Directory " << path.string() << " removed successfully." << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error removing directory: " << e.what() << std::endl;
}
} else {
std::cout << "Directory does not exist at: " << path.string() << std::endl;
}
}
```
在这个例子中,`remove_all`尝试删除给定路径下的整个目录结构,如果路径不存在或者操作失败,会捕获异常并打印错误信息。
阅读全文