Когда вы вызываете FindFirstFile
/ FindNextFile
, некоторые из «файлов», которые он возвращает, фактически являются каталогами.
Вы можете проверить, является ли каталог каталогом или нет, посмотрев на поле dwFileAttributes
структуры WIN32_FIND_DATA
, которая возвращается вам.
Если вы нашли каталог, который вы можете использовать, то вы можете просто рекурсивно вызвать функцию поиска файлов, чтобы перейти в подпапки.
Примечание. Обязательно поместите в специальный регистр псевдо-каталогов .
и ..
, иначе ваша функция вернется в себя и вы получите переполнение стека
Вот документация, если вы ее еще не нашли:
FindFirstFile
WIN32_FIND_DATA
возможные значения для dwFileAttributes (помните, что все это битовые флаги, поэтому вам придется использовать & для проверки)