Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

обход каталога

1.8K
24 октября 2003 года
neutrino4
94 / / 05.09.2003
задача: обойти каталог, не заглядывая в подкаталоги, и вывести на экран имена встретившихся файлов
пишу:

const int path_len=512;
HANDLE h;
WIN32_FIND_DATA wfd;
char szCurrDir[path_len];
char szFn[path_len];
GetCurrentDirectory(path_len,szCurrDir);
h=FindFirstFile(szCurrDir,&wfd);
do
{
printf("%s\n",wfd.cFileName);
}while(FindNextFile(h,&wfd));

Вместо всех файлов без конца выводит имя первого файла. GetLastError возвращает 18 (что-то типа ERROR_NO_MORE_FILES), но файл этот не последний, кроме него еще куча других.
1.8K
25 октября 2003 года
Jeff
94 / / 22.04.2003
Цитата:
Originally posted by neutrino4


В FindFirstFile надо довать не просто название каталога, состав которого надо перечислить, там дается маска поиска, в твоем случае что-то типа szCurrentDir + "\\*.*"
А узнать, что найденное - каталог можно зерез
if( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) //каталог

1.8K
25 октября 2003 года
neutrino4
94 / / 05.09.2003
РПОСФОП, УЕКЮБУ РПРТПВХА
1.8K
26 октября 2003 года
neutrino4
94 / / 05.09.2003
да, теперь все хорошо работает, спасибо Jeff. Недавно, кстати, сам отвечал на похожий вопрос в этом форуме и подсказал неправильно. Просто видел мельком в справочнике про эти функции, но до конца не разобрался в их работе. А потом самому понадобилось их использовать и наткнулся на косяк...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог