Udostępnij za pośrednictwem


CFileFind::IsDirectory

Wywołanie tej funkcji Członkowskich, jeśli znaleziony plik jest katalogiem.

BOOL IsDirectory( ) const;

Wartość zwracana

Niezerowa, jeśli kończy się pomyślnie; 0 inaczej.

Uwagi

Plik, który jest katalogiem jest oznaczone atrybut pliku określone w FILE_ATTRIBUTE_DIRECTORY WIN32_FIND_DATA struktury.

Musisz wywołać FindNextFile co najmniej raz przed wywoływaniem IsDirectory.

Zobacz funkcja Członkowskie MatchesMask pełną listę atrybutów pliku.

Przykład

To mały program recurses każdy katalog na dysku C:\ i drukuje nazwę katalogu.

void Recurse(LPCTSTR pstr)
{
   CFileFind finder;

   // build a string with wildcards
   CString strWildcard(pstr);
   strWildcard += _T("\\*.*");

   // start working for files
   BOOL bWorking = finder.FindFile(strWildcard);

   while (bWorking)
   {
      bWorking = finder.FindNextFile();

      // skip . and .. files; otherwise, we'd 
      // recur infinitely! 

      if (finder.IsDots())
         continue;

      // if it's a directory, recursively search it 

      if (finder.IsDirectory())
      {
         CString str = finder.GetFilePath();
         TRACE(_T("%s\n"), (LPCTSTR)str);
         Recurse(str);
      }
   }

   finder.Close();
}

void PrintDirs()
{
   Recurse(_T("C:"));
}

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CFileFind

Diagram hierarchii