Страницы

Поиск по вопросам

суббота, 21 марта 2020 г.

QtС++. Доработать поиск файлов в директории и поддиректориях

#cpp #алгоритм #qt #qt5 #поиск


Есть код:

 // Получение списка файлов в папке
    QStringList nameFilter;
        QDir dir(MTEPathTMP);
        nameFilter.clear();
        nameFilter << "*.png";

        QFileInfoList list = dir.entryInfoList( nameFilter, QDir::Files );
        QFileInfo fileinfo;

        nameFilter.clear();
        foreach (fileinfo, list) nameFilter << fileinfo.absoluteFilePath();


Он ищет файлы по маске в директории.

НО! Он не умеет смотреть в поддиректории. Как можно его доработать, чтоб он мог искать?
    


Ответы

Ответ 1



Уже обсуждалось тут. Я бы рекомендовал не изобретать велосипед с рекурсивной функцией, а применить готовый класс QDirIterator со специальным флагом в параметрах. QDirIterator it("/sys", QStringList() << "scaling_cur_freq", QDir::NoFilter, QDirIterator::Subdirectories); while (it.hasNext()) { QFile f(it.next()); f.open(QIODevice::ReadOnly); qDebug() << f.fileName() << f.readAll().trimmed().toDouble() / 1000 << "MHz"; }

Комментариев нет:

Отправить комментарий