#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
void find(char *IpPath)
{
char szFind[100];
char szFile[100];
WIN32_FIND_DATA FindFileData;
strcpy(szFind,IpPath);
strcat(szFind,"*.*");
HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if (INVALID_HANDLE_VALUE == hFind)
return;
while(true)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData.cFileName[0]!='.')
{
strcpy(szFile,IpPath);
strcat(szFile,"");
strcat(szFile,FindFileData.cFileName);
strcat(szFile,"\\*.*");
find(szFile);
}
}
else
{
cout <<FindFileData.cFileName << endl ;
}
if(!FindNextFile(hFind,&FindFileData))
break;
}
FindClose(hFind);
}
void main()
{
char *p="F:";
find(p);
}