У меня есть тысячи файлов для просмотра с такой структурой каталогов:
YYYY_MM_DD
XXX
XXX
XXX
Target
.hdr files
XXX
XXX
more .hdr files but do not want to process
YYYY_MM_DD
XXX
XXX
XXX
Target
.hdr files
XXX
XXX
more .hdr files but do not want to process
У меня есть данные за три месяца, и мне нужно добраться до папки Target и папки Targetтолько.Они содержат файлы, которые нам нужны, и в некоторых других папках также есть файлы .hdr, которые нам не нужны.
Сначала я использовал QDirIterator
, например:
QDirIterator it(inputDir, QStringList() << "*.hdr", QDir::Files, QDirIterator::Subdirectories);
Однако, запустив свою программу, я понял, что это будет собирать и другие файлы .hdr
, и яне нужно обрабатывать эти файлы.Вот код, который я написал, чтобы найти все файлы .hdr
:
QDirIterator it(inputDir, QStringList() << "*.hdr", QDir::Files, QDirIterator::Subdirectories);
std::vector<std::string> files;
while(it.hasNext())
{
files.push_back(it.next().toStdString());
}
return files;
Как я могу пройти по каталогам, но только взять файлы в папке Target?