c++ 删除指定目录下所有文件
时间: 2023-12-13 10:03:43 浏览: 232
要在C++中删除指定目录下的所有文件,可以使用递归的方式遍历目录并删除文件。以下是一个示例代码:
```cpp
#include <iostream>
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
void deleteFiles(const std::string& directory) {
for (const auto& entry : fs::recursive_directory_iterator(directory)) {
if (entry.is_regular_file()) {
fs::remove(entry.path());
std::cout << "Deleted: " << entry.path() << std::endl;
}
}
}
int main() {
std::string directory = "path/to/your/directory";
deleteFiles(directory);
return 0;
}
```
您只需将代码中的 `"path/to/your/directory"` 替换为您想要删除文件的目录路径。此代码会递归地遍历目录及其子目录中的所有文件,并删除每个文件。
请注意,此代码使用了旧版的文件系统库(std::experimental::filesystem),在C++17之前是作为实验性特性引入的。因此,您需要确保编译器支持该库,并在编译时链接正确的库文件。如果您的编译器不支持该库,您可以考虑使用第三方库(如Boost.Filesystem)来实现文件操作。
阅读全文