Russian Qt Forum

Qt => Вопросы новичков => Тема начата: oks от Август 28, 2013, 11:48



Название: рекурсивный поиск
Отправлено: oks от Август 28, 2013, 11:48
нужно сделать поиск файлов не только в папке, но и подпапках..


Название: Re: рекурсивный поиск
Отправлено: oks от Август 28, 2013, 11:52
         
пробовала это - не работает(      {
               foreach( QFileInfo fi, directory.entryList())
               {
               QString szFileName = fi.absoluteFilePath();

               if( fi.isDir())
               {
               if( fi.fileName()=="." || fi.fileName()=="..")
               continue;
               QDir( szFileName);
               }
               if( fi.isFile())
               {
               }
               qDebug()<<fi.absoluteFilePath();
               }
               }


Название: Re: рекурсивный поиск
Отправлено: kambala от Август 28, 2013, 11:59
в данном примере путь каждого файла записывается в файл, переделай под свою задачу
Код
C++ (Qt)
QString dirPath = ...;
if (dirPath.isEmpty())
   return;
 
QFile outFile(QDir::homePath() + "/Documents/output.txt");
if (!outFile.open(QIODevice::WriteOnly | QIODevice::Text))
   return;
 
QTextStream outStream(&outFile);
QDirIterator it(dirPath, QDir::AllEntries | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
while (it.hasNext())
{
   QFileInfo f = it.fileInfo();
   if (f.isFile())
       outStream << f.absoluteFilePath() << '\n';
   it.next();
}


Название: Re: рекурсивный поиск
Отправлено: oks от Август 28, 2013, 13:41
пасиб!! буду пробовать