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());
        }
    }
}

приложение крашится. Что я делаю не так?
  • Вопрос задан
  • 884 просмотра
Решения вопроса 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());
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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