def get_img_names(dir_path): img_names=[] names=os.listdir(dir_path) for name in names: if name[-3:]=='jpg':img_names.append(name) return img_names转c++
时间: 2024-04-11 13:27:42 浏览: 101
以下是将给定的 Python 代码转换为 C++ 的版本:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <filesystem>
std::vector<std::string> get_img_names(const std::string& dir_path) {
std::vector<std::string> img_names;
for (const auto& entry : std::filesystem::directory_iterator(dir_path)) {
if (entry.path().extension() == ".jpg") {
img_names.push_back(entry.path().filename().string());
}
}
return img_names;
}
```
请确保在转换代码之前包含了 `<iostream>`, `<vector>`, `<string>` 和 `<filesystem>` 头文件,并且使用了 C++17 或更高版本的编译器,以支持 `std::filesystem`。此代码通过使用 `std::filesystem::directory_iterator` 遍历目录,并使用 `extension()` 和 `filename()` 函数获取文件的扩展名和文件名。最后,将符合条件的文件名添加到 `img_names` 向量中并返回。
希望这可以帮助到你!如果有任何进一步的问题,请随时提问。
阅读全文