下面关于文件搜索的代码是在网上找到的void ListFile(char* szDir)
{
 char  szTempDir[MAX_PATH+1];
 strcpy(szTempDir,szDir);
 strcat(szTempDir,"*");
 HANDLE  hFindFile;
 WIN32_FIND_DATA  FileData; hFindFile = FindFirstFile(szTempDir,&FileData);
 
 if( hFindFile == INVALID_HANDLE_VALUE )
 {
  return ;
 }
 else
 {
  do
  {   if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
     && strcmp(FileData.cFileName,".")//--------------->??
     && strcmp(FileData.cFileName,".."))//------------->??
   {
    char szNewDir[MAX_PATH+1];
    strcpy(szNewDir,szDir);
    strcat(szNewDir,FileData.cFileName);
    strcat(szNewDir,"\\");
    ListFile(szNewDir);
   }
   else
   {
    cout<<szDir<<FileData.cFileName<<endl;
   }
  }
  while(FindNextFile(hFindFile,&FileData));  FindClose(hFindFile);
 }
}上面作标记的代码我不太明白,已经判断找到的是不是目录,为什么还要判断FileData.cFileName?
而且,如果找到的是目录是不是代表找到的是一个文件夹?如果是,为什么FileData.cFileName不是文件夹的名字而是"."或".."?