- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
void ff(const TCHAR *curDir)
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
TCHAR cd[MAX_PATH], res[MAX_PATH], dirname[MAX_PATH], filename[MAX_PATH];
strcpy_s(cd, MAX_PATH, curDir);
strcat_s(cd, MAX_PATH, "\\*.*");
hFind = FindFirstFile(cd, &FindFileData);
BOOL r = hFind != INVALID_HANDLE_VALUE;
while (r)
{
r=FindNextFile(hFind, &FindFileData);
if (FindFileData.cFileName[0] != '.') try
{
strcpy_s(cd, MAX_PATH, curDir);
strcat_s(cd, MAX_PATH, "\\");
strcat_s(cd, MAX_PATH, FindFileData.cFileName);
if (!r) // если ссылка последняя смысле handle то записываем имя файла
strcpy_s(filename, MAX_PATH, FindFileData.cFileName);
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
ff(cd);
else
{
char* k=NULL;
if (!r)
k=strstr(filename,FindFileData.cFileName); // проверяем если является имя каталога подстрокой в имени файла хреначим на вывод(при том что ссылка была последней)
// смысле на вывод хреначим вот здесь
if (k!=NULL)
{
CharToOem(cd, res);
cout<<res<<endl;
}
}
}
catch(...)
{
cout<<"Can not display file name"<<endl;
}
}
}