CFileFind::IsDirectory

Rufen Sie die Memberfunktion auf, um zu bestimmen, ob die gesuchte Datei ein Verzeichnis befindet.

BOOL IsDirectory( ) const;

Rückgabewert

Ungleich 0 (null), wenn erfolgreich; 0 andernfalls.

Hinweise

Eine Datei, die ein Verzeichnis befindet, wird mit FILE_ATTRIBUTE_DIRECTORY markiert, das ein Dateiattribut in der WIN32_FIND_DATA-Struktur identifiziert wurden.

Sie müssen FindNextFile mindestens einmal aufrufen, bevor Sie IsDirectory aufrufen.

Siehe die Memberfunktion MatchesMask für eine vollständige Liste von Dateiattributen.

Beispiel

Dieses kleine Programm hat jedes Verzeichnis auf dem Laufwerk C:\- und gibt den Namen des Verzeichnisses.

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:"));
}

Anforderungen

Header: afx.h

Siehe auch

Referenz

CFileFind-Klasse

Hierarchien-Diagramm