Partager via


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

Voir aussi

Référence

Classe de CFileFind

Graphique de la hiérarchie