在C++中,可以使用通配符来进行目录列表操作。通配符是一种用于匹配文件名或路径的特殊字符,常见的通配符有"*"和"?"。
#include <iostream>
#include <filesystem>
int main() {
std::filesystem::path directoryPath = "path/to/directory";
std::filesystem::directory_iterator endIterator;
for (std::filesystem::directory_iterator it(directoryPath); it != endIterator; ++it) {
std::filesystem::path filePath = it->path();
if (filePath.extension() == ".txt") {
std::cout << filePath.filename() << std::endl;
}
}
return 0;
}
上述代码使用std::filesystem::directory_iterator
遍历指定目录下的所有文件,然后通过filePath.extension()
获取文件的扩展名,与".txt"进行比较,如果匹配则输出文件名。
#include <iostream>
#include <filesystem>
int main() {
std::filesystem::path directoryPath = "path/to/directory";
std::filesystem::directory_iterator endIterator;
for (std::filesystem::directory_iterator it(directoryPath); it != endIterator; ++it) {
std::filesystem::path filePath = it->path();
std::string fileName = filePath.filename().string();
if (fileName.size() >= 6 && fileName.substr(0, 5) == "file_" && fileName[5] != '.') {
std::cout << filePath.filename() << std::endl;
}
}
return 0;
}
上述代码使用std::filesystem::directory_iterator
遍历指定目录下的所有文件,然后通过filePath.filename().string()
获取文件名的字符串形式,判断文件名长度是否大于等于6,并且前缀为"file_",第六个字符不为".",如果满足条件则输出文件名。
这是C++中使用通配符进行目录列表的基本示例,可以根据实际需求进行相应的修改和扩展。在实际开发中,还可以结合正则表达式等技术来实现更复杂的匹配逻辑。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云