![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| dark_religion |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 8.9.2006 Репутация: -3 Всего: -3 |
КАК НАЙТИ ФАЙЛ С ОПРЕДЕЛЕННЫМ РАСШИРЕНИЕМ?
НАПИРМЕР! .DOC .TXT .EXE В CMD есть команда! FIND какой формад для поиска по типу? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
dark_religion,
find ищет текст в файлах
P.S. ногу с шифта сними |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
FindFirstFile \ FindNextFile
-------------------- ... |
|||
|
||||
| fliengster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
А как тогда решить задачю если нужно и подкатологи просматривать((((((?
|
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: нет Всего: 6 |
На работоспособность, если что, именно этот код я не проверял. Это сообщение отредактировал(а) EnergoHokum - 7.6.2008, 12:30 |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
- несовместима с unicode - thread-unsafe - формирование маски неправильное - "подкотологи" не просматривает - утечки ресурсов - нет фильтрации служебных записей (. и ..) - поле cFileName имеет размер _MAX_PATH, а не 0xFF - нет проверок на переполнение буфера |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: нет Всего: 6 |
Это-же пример был.
А чому тут thread-unsafe? Вроде, static-переменных нету, параметры по указателям передаются (ну, кроме action, но он, я думаю, не важен). Насчёт "подкотологов" -- в описании этих функций сказано: "If the string ends with a wildcard, period, or directory name, the user must have access to the root and all subdirectories on the path", из чего я сразу подумал, что в "подкотологи" при поиске они заходят. Насчёт маски -- тоже не понял: "that can contain wildcard characters (* and ?)". Утечка ресурсов -- потенциально, если не закрыть поиск, то да. Но всё это безобразие можно оформить в виде класса, и в деструктор затолкать закрытие. И вообще, повторюсь, это был пример. |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
в функции FindNextFile используется глобальная переменная find_file_data
эти строчки memcpy(&filename[0],dir_spec,strlen(dir_spec)); memcpy(&filename[strlen(dir_spec)],fname_mask,strlen(fname_mask)+1); на самом деле формируют вот что: "*.doc" а надо "./*.doc" Добавлено через 2 минуты и 59 секунд нет, насчёт маски я таки прогнал, извиняюсь. смутили strlen'ы |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: нет Всего: 6 |
Ну, так можно сделать её неглобальной, в функцию-то указатель на неё передаётся... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |