Как перебрать все файлы, находящиеся в определенной директории
char path[MAX_PATH] = "C:\\Games\\*.*"; //путь до папки, в которой нужно перебрать файлы // (в данном случае это [i]"Games"[/i]) WIN32_FIND_DATA FindData; HANDLE Handle; Handle = FindFirstFile(path, &FindData);//ищем первый файл
Первый файл в любом каталоге (кроме корня) это ссылка на самого себя. Обозначается он точкой (".").
Второй файл - это ссылка на родительский каталог, обозначается он двумя точками ("..").
Итак, мы нашли первый файл. Ищем остальные.
FindNextFile(Handle, &FindData);//находим ссылку на родительский каталог int i=0; while( FindNextFile( Handle, &FindData) )//и только теперь проходим по нужным нам файлам { //производим необходимые операции, например запоминаем имена всех файлов в директории MyNameArray[i] = FindData.cFileName; i++; }
Примечание: ссылки на родительский каталог не будет только в корне.
15 августа 2007