обход каталога
пишу:
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), но файл этот не последний, кроме него еще куча других.
Цитата:
Originally posted by neutrino4
В FindFirstFile надо довать не просто название каталога, состав которого надо перечислить, там дается маска поиска, в твоем случае что-то типа szCurrentDir + "\\*.*"
А узнать, что найденное - каталог можно зерез
if( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) //каталог
РПОСФОП, УЕКЮБУ РПРТПВХА
да, теперь все хорошо работает, спасибо Jeff. Недавно, кстати, сам отвечал на похожий вопрос в этом форуме и подсказал неправильно. Просто видел мельком в справочнике про эти функции, но до конца не разобрался в их работе. А потом самому понадобилось их использовать и наткнулся на косяк...