Задать вопрос
Sergomen
@Sergomen
Просто делай добро и оно вернётся

Как получить файлы из папок и подпапок?

Я пытаюсь получить список всех файлов в папке и подпапках. Я пробую так:
QList <QString> files;

void SearchFiles::scanDir(QDir dir){
    if(!dir.exists()){
        isFind = false;
        return;
    }
    QFileInfoList listDir = dir.entryInfoList();
    QFileInfo file;
    foreach(QFileInfo finfo, listDir){
        if(finfo.fileName() != "." || finfo.fileName() != ".."){
            file.setFile(finfo.fileName());
            if(file.isDir())
                scanDir(file.absoluteDir());
            else
                files.push_back(file.absoluteFilePath());
        }
    }
}

приложение крашится. Что я делаю не так?
  • Вопрос задан
  • 1196 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Разработчик на C++: Профессия + специализация + нейросети
    12 месяцев
    Далее
  • Skillbox
    Разработчик на C++
    7 месяцев
    Далее
Решения вопроса 1
Sergomen
@Sergomen Автор вопроса
Просто делай добро и оно вернётся
Оказалось все проще чем я думал:
QList <QString> files;

void SearchFiles::scanDir(QDir dir){
    if(!dir.exists()){
        isFind = false;
        return;
    }
     QDirIterator it(dir, QDirIterator::Subdirectories);
    QFileInfo finfo;
    while (it.hasNext()) {
        info.setFile(it.next());
        if(finfo.fileName() != "." || finfo.fileName() != ".."){
            files.push_back(finfo.absoluteFilePath());
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы