CFileFind::IsDirectory
Llame a esta función miembro para determinar si el archivo encontrado es un directorio.
BOOL IsDirectory( ) const;
Valor devuelto
Distinto de cero si correctamente; si no 0.
Comentarios
Un archivo que es un directorio se marca con FILE_ATTRIBUTE_DIRECTORY que un atributo de archivo identificaron en la estructura de WIN32_FIND_DATA .
Debe llamar a FindNextFile por lo menos una vez antes de llamar a IsDirectory.
Vea la función MatchesMask miembro para una lista completa de los atributos de archivo.
Ejemplo
Tal forma que de este pequeños programa cada directorio en la unidad C:\ e imprime el nombre del directorio.
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:"));
}
Requisitos
encabezado: afx.h