#include <stdio.h>
#include <windows.h>
void SearchFile(char FileDir[MAX_PATH],char FileType[MAX_PATH])
{
char buffer[MAX_PATH];
sprintf(buffer,"%s\\%s",FileDir,FileType);
HANDLE hFind;
WIN32_FIND_DATA dat;
int FileNum = 0,DirNum = 0;
hFind = ::FindFirstFile(buffer,&dat);
if( hFind == INVALID_HANDLE_VALUE )
{
printf("Find Error!\n");
return ;
}
else
{
char NewBuf[MAX_PATH];
do
{
if(dat.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(dat.cFileName[0] == '.')
continue;
else
{
sprintf(NewBuf,"%s\\%s",FileDir,dat.cFileName);
printf("NewDirectory : %s\n\n",NewBuf);
DirNum ++;
SearchFile(NewBuf,"*.*");
}
}
else
{
sprintf(buffer,"%s\\%s",FileDir,dat.cFileName);
FileNum ++;
printf("Find File : %s\n",buffer);
}
}while(::FindNextFile(hFind,&dat));
}
printf("\nFind %d files and %d dirs!\n\n",FileNum,DirNum);
}
void main()
{
SearchFile("C:\\windows\\system32","*.*");
}
#include <windows.h>
void SearchFile(char FileDir[MAX_PATH],char FileType[MAX_PATH])
{
char buffer[MAX_PATH];
sprintf(buffer,"%s\\%s",FileDir,FileType);
HANDLE hFind;
WIN32_FIND_DATA dat;
int FileNum = 0,DirNum = 0;
hFind = ::FindFirstFile(buffer,&dat);
if( hFind == INVALID_HANDLE_VALUE )
{
printf("Find Error!\n");
return ;
}
else
{
char NewBuf[MAX_PATH];
do
{
if(dat.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(dat.cFileName[0] == '.')
continue;
else
{
sprintf(NewBuf,"%s\\%s",FileDir,dat.cFileName);
printf("NewDirectory : %s\n\n",NewBuf);
DirNum ++;
SearchFile(NewBuf,"*.*");
}
}
else
{
sprintf(buffer,"%s\\%s",FileDir,dat.cFileName);
FileNum ++;
printf("Find File : %s\n",buffer);
}
}while(::FindNextFile(hFind,&dat));
}
printf("\nFind %d files and %d dirs!\n\n",FileNum,DirNum);
}
void main()
{
SearchFile("C:\\windows\\system32","*.*");
}