CFileFind::IsDirectory
Appelez la fonction membre pour déterminer si le fichier rencontrée est un répertoire.
BOOL IsDirectory( ) const;
Valeur de retour
Une valeur différente de zéro si l'opération a réussi ; sinon 0.
Notes
Un fichier qui est un dossier est marqué avec FILE_ATTRIBUTE_DIRECTORY qu'un attribut de fichier l'a identifié dans la structure de WIN32_FIND_DATA .
Vous devez appeler FindNextFile au moins une fois avant d'appeler IsDirectory.
Consultez la fonction membre MatchesMask pour une liste complète des attributs de fichier.
Exemple
Recurses de petits ce programme chaque dossier sur le lecteur et les copies de C:\ le nom du dossier.
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:"));
}
Configuration requise
Header: afx.h