Russian Qt Forum
Октябрь 01, 2024, 18:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: command line dir: /s string && api  (Прочитано 4986 раз)
stima
Гость
« : Январь 16, 2012, 12:59 »

Есть сабжевая команда, которая ищет строку в директории и поддиректориях. Есть ли какое-то апи (winapi или shell api) которое "эмулирует эту команду"?

п.с. Ясно, что можно написать свой рекурсивный поиск, но раз он уже существует и походу прилично оптимизирован, то лучше использовать его.
Записан
popper
Гость
« Ответ #1 : Январь 16, 2012, 14:04 »

Строка в названии файла(директории) или в тексте файла?
Записан
stima
Гость
« Ответ #2 : Январь 16, 2012, 14:22 »

В названии файла
Записан
popper
Гость
« Ответ #3 : Январь 16, 2012, 14:27 »

А решение на Qt не подойдет?
Связка
QDir::setNameFilters()
и
QDir::entityList()
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Январь 16, 2012, 14:29 »

Код
C++ (Qt)
 
QDirIterator it(path, QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext ()) {
 it.next ();
 findStringInFile (it.filePath ());
}
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
stima
Гость
« Ответ #5 : Январь 16, 2012, 16:42 »

Э не это я уже написал(пост выше))), меня интересовала именно win api)), для развития так сказать
Записан
Akon
Гость
« Ответ #6 : Январь 16, 2012, 21:17 »

Если не ошибаюсь, то в винапи интерфейс типа прохода по директориям, т.е. типа итератора. Задача ваша не шибко системная, чтобы ее решать на таком низком уровне как апи. Посмотрите MSDN, может и есть какие специализированные функции.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 22.