C++遍历相对文件夹删除指定后缀文件
时间: 2024-09-27 21:09:50 浏览: 47
在C++中,你可以使用`<filesystem>`库来处理文件和目录操作,包括遍历文件夹并删除特定后缀名的文件。但是需要注意,这个库在C++17及更高版本中可用。如果你使用的是早期版本的C++,则需要其他第三方库如Boost.Filesystem。
下面是一个简单的示例,展示如何遍历目录并删除所有`.txt`文件:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
void delete_files_with_extension(const fs::path& directory_path, const std::string& extension) {
if (!fs::exists(directory_path)) {
std::cout << "Directory does not exist.\n";
return;
}
for (const auto& entry : fs::directory_iterator(directory_path)) {
if (entry.is_regular_file() && entry.path().extension() == extension) {
try {
fs::remove(entry);
std::cout << "Deleted file: " << entry.path() << "\n";
} catch (const fs::filesystem_error& e) {
std::cerr << "Error deleting file: " << e.what() << '\n';
}
}
}
}
int main() {
// 替换为你的文件夹路径
fs::path folder_to_search("your_directory_path");
delete_files_with_extension(folder_to_search, ".txt");
return 0;
}
```
在这个例子中,`delete_files_with_extension`函数接收一个目录路径和后缀名作为参数,然后遍历目录中的每个文件。如果找到一个文件且其扩展名匹配指定的后缀,就尝试删除它。记得替换`"your_directory_path"`为你实际的文件夹路径。
阅读全文