如果没有c++17怎么办
时间: 2024-10-28 10:12:18 浏览: 10
C++17 The Complete Guide
5星 · 资源好评率100%
如果你的环境不支持C++17或更高版本,你可以使用更早的文件系统库,比如Boost.Filesystem。以下是一个基于Boost.Filesystem的简单示例,用于删除指定路径下的图片:
```cpp
#include <boost/filesystem.hpp>
#include <boost/range/algorithm.hpp>
void deleteImagesInDir(const std::string& dirPath) {
boost::filesystem::path path(dirPath);
if (!boost::filesystem::exists(path)) {
std::cout << "Directory does not exist." << std::endl;
return;
}
boost::filesystem::directory_iterator end;
for (auto it = boost::filesystem::directory_iterator(path); it != end; ++it) {
if (boost::filesystem::is_regular_file(*it) && boost::ends_with(it->filename(), ".jpg") ||
boost::ends_with(it->filename(), ".png") ||
boost::ends_with(it->filename(), ".bmp") || boost::ends_with(it->filename(), ".gif")) {
std::cout << "Deleting file: " << it->absolute_path().string() << std::endl;
boost::filesystem::remove_all(it->absolute_path());
}
}
}
int main() {
const std::string directoryToClear = "path_to_your_directory"; // 替换为你想删除图片的实际路径
deleteImagesInDir(directoryToClear);
return 0;
}
```
这个例子同样需要注意权限问题以及对非图片文件的处理。
阅读全文