Подскажите пожалуйста, что нужно дописать в этом коде для того, чтобы можно было найти файлы с конкретным расширением и чтобы он искал в директориях и её поддиректориях, а то если я задаю lstrcat(cPath, "*.txt") вместо lstrcat(cPath, "*"), он выдаёт файлы с расширением *.txt, которые находятся в c:\temp\, а файлы которые находятся в поддиректориях не выдаёт.
| Код | #include <windows.h> #include <iostream.h>
void Recurse(LPSTR cPath) { WIN32_FIND_DATA fd; HANDLE hFile; short len=lstrlen(cPath);
lstrcat(cPath, "*"); hFile=FindFirstFile(cPath, &fd); cPath[len]=0; do{ if(fd.cFileName[0]=='.')continue; if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){ lstrcat(cPath, fd.cFileName); lstrcat(cPath, "\\"); Recurse(cPath); cPath[len]=0; } else{ cout<<fd.cFileName<<endl; } } while(FindNextFile(hFile, &fd)); FindClose(hFile); }
main() { char cPath[MAX_PATH]="c:\\temp\\"; Recurse(cPath); return 0;; } | |