Russian Qt Forum

Компиляторы и платформы => Windows => Тема начата: stima от Январь 16, 2012, 12:59



Название: command line dir: /s string && api
Отправлено: stima от Январь 16, 2012, 12:59
Есть сабжевая команда, которая ищет строку в директории и поддиректориях. Есть ли какое-то апи (winapi или shell api) которое "эмулирует эту команду"?

п.с. Ясно, что можно написать свой рекурсивный поиск, но раз он уже существует и походу прилично оптимизирован, то лучше использовать его.


Название: Re: command line dir: /s string && api
Отправлено: popper от Январь 16, 2012, 14:04
Строка в названии файла(директории) или в тексте файла?


Название: Re: command line dir: /s string && api
Отправлено: stima от Январь 16, 2012, 14:22
В названии файла


Название: Re: command line dir: /s string && api
Отправлено: popper от Январь 16, 2012, 14:27
А решение на Qt не подойдет?
Связка
QDir::setNameFilters()
и
QDir::entityList()


Название: Re: command line dir: /s string && api
Отправлено: Пантер от Январь 16, 2012, 14:29
Код
C++ (Qt)
 
QDirIterator it(path, QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext ()) {
 it.next ();
 findStringInFile (it.filePath ());
}
 


Название: Re: command line dir: /s string && api
Отправлено: stima от Январь 16, 2012, 16:42
Э не это я уже написал(пост выше))), меня интересовала именно win api)), для развития так сказать


Название: Re: command line dir: /s string && api
Отправлено: Akon от Январь 16, 2012, 21:17
Если не ошибаюсь, то в винапи интерфейс типа прохода по директориям, т.е. типа итератора. Задача ваша не шибко системная, чтобы ее решать на таком низком уровне как апи. Посмотрите MSDN, может и есть какие специализированные функции.