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