La classe CFileFind
Effectue des recherches de fichiers locaux et est la classe de base pour CGopherFileFind
et CFtpFileFind
, qui effectuent des recherches de fichiers Internet.
Syntaxe
class CFileFind : public CObject
Membres
Constructeurs publics
Nom | Description |
---|---|
CFileFind::CFileFind |
Construit un objet CFileFind . |
Méthodes publiques
Nom | Description |
---|---|
CFileFind::Close |
Ferme la requête de recherche. |
CFileFind::FindFile |
Recherche un répertoire pour un nom de fichier spécifié. |
CFileFind::FindNextFile |
Poursuit une recherche de fichiers à partir d’un appel précédent à FindFile . |
CFileFind::GetCreationTime |
Obtient l’heure de création du fichier. |
CFileFind::GetFileName |
Obtient le nom, y compris l’extension, du fichier trouvé |
CFileFind::GetFilePath |
Obtient le chemin d’accès complet du fichier trouvé. |
CFileFind::GetFileTitle |
Obtient le titre du fichier trouvé. Le titre n’inclut pas l’extension. |
CFileFind::GetFileURL |
Obtient l’URL, y compris le chemin d’accès au fichier trouvé. |
CFileFind::GetLastAccessTime |
Obtient l’heure à laquelle le fichier a été consulté pour la dernière fois. |
CFileFind::GetLastWriteTime |
Obtient l’heure à laquelle le fichier a été modifié pour la dernière fois et enregistré. |
CFileFind::GetLength |
Obtient la longueur du fichier trouvé, en octets. |
CFileFind::GetRoot |
Obtient le répertoire racine du fichier trouvé. |
CFileFind::IsArchived |
Détermine si le fichier trouvé est archivé. |
CFileFind::IsCompressed |
Détermine si le fichier trouvé est compressé. |
CFileFind::IsDirectory |
Détermine si le fichier trouvé est un répertoire. |
CFileFind::IsDots |
Détermine si le nom du fichier trouvé a le nom « » ou « ». » indiquant qu’il s’agit en fait d’un répertoire. |
CFileFind::IsHidden |
Détermine si le fichier trouvé est masqué. |
CFileFind::IsNormal |
Détermine si le fichier trouvé est normal (en d’autres termes, n’a pas d’autres attributs). |
CFileFind::IsReadOnly |
Détermine si le fichier trouvé est en lecture seule. |
CFileFind::IsSystem |
Détermine si le fichier trouvé est un fichier système. |
CFileFind::IsTemporary |
Détermine si le fichier trouvé est temporaire. |
CFileFind::MatchesMask |
Indique les attributs de fichier souhaités du fichier à trouver. |
Méthodes protégées
Nom | Description |
---|---|
CFileFind::CloseContext |
Ferme le fichier spécifié par le handle de recherche actuel. |
Membres de données protégés
Nom | Description |
---|---|
CFileFind::m_pTM |
Pointeur vers un CAtlTransactionManager objet. |
Notes
CFileFind
inclut les fonctions membres qui commencent une recherche, recherchent un fichier et retournent le titre, le nom ou le chemin d’accès du fichier. Pour les recherches Internet, la fonction GetFileURL
membre retourne l’URL du fichier.
CFileFind
est la classe de base pour deux autres classes MFC conçues pour rechercher des types de serveurs particuliers : CGopherFileFind
fonctionne spécifiquement avec des serveurs gopher et CFtpFileFind
fonctionne spécifiquement avec des serveurs FTP. Ensemble, ces trois classes fournissent un mécanisme transparent permettant au client de rechercher des fichiers, quel que soit le protocole serveur, le type de fichier ou l’emplacement, sur un ordinateur local ou un serveur distant.
Le code suivant énumère tous les fichiers du répertoire actif, en imprimant le nom de chaque fichier :
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
Pour simplifier l’exemple, ce code utilise la classe bibliothèque cout
standard C++. La cout
ligne peut être remplacée par un appel à CListBox::AddString
, par exemple, dans un programme avec une interface utilisateur graphique.
Pour plus d’informations sur l’utilisation CFileFind
et les autres classes WinInet, consultez l’article Programmation Internet avec WinInet.
Hiérarchie d'héritage
CFileFind
Spécifications
En-tête : afx.h
CFileFind::CFileFind
Cette fonction membre est appelée lorsqu’un CFileFind
objet est construit.
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
Paramètres
pTM
Pointeur vers l'objet CAtlTransactionManager
Exemple
Consultez l’exemple pour CFileFind::GetFileName
.
CFileFind::Close
Appelez cette fonction membre pour mettre fin à la recherche, réinitialiser le contexte et libérer toutes les ressources.
void Close();
Notes
Après l’appel Close
, vous n’avez pas besoin de créer une nouvelle CFileFind
instance avant d’appeler FindFile
pour commencer une nouvelle recherche.
Exemple
Consultez l’exemple pour CFileFind::GetFileName
.
CFileFind::CloseContext
Ferme le fichier spécifié par le handle de recherche actuel.
virtual void CloseContext();
Notes
Ferme le fichier spécifié par la valeur actuelle du handle de recherche. Remplacez cette fonction pour modifier le comportement par défaut.
Vous devez appeler au moins une fois le ou FindNextFile
les FindFile
fonctions pour récupérer un handle de recherche valide. Les FindFile
fonctions et FindNextFile
les fonctions utilisent le handle de recherche pour localiser les fichiers avec des noms qui correspondent à un nom donné.
CFileFind::FindFile
Appelez cette fonction membre pour ouvrir une recherche de fichiers.
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
Paramètres
pstrName
Pointeur vers une chaîne contenant le nom du fichier à rechercher. Si vous passez NULL
pstrName
, FindFile
effectue une recherche générique (*.*).
dwUnused
Réservé pour rendre FindFile
polymorphe avec des classes dérivées. Doit être égal à 0.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0. Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError
Win32.
Notes
Après avoir appelé FindFile
pour commencer la recherche de fichiers, appelez FindNextFile
pour récupérer les fichiers suivants. Vous devez appeler FindNextFile
au moins une fois avant d’appeler l’une des fonctions membres d’attribut suivantes :
Exemple
Consultez l’exemple pour CFileFind::IsDirectory
.
CFileFind::FindNextFile
Appelez cette fonction membre pour poursuivre une recherche de fichiers à partir d’un appel précédent à FindFile
.
virtual BOOL FindNextFile();
Valeur de retour
Différent de zéro s’il y a plus de fichiers ; zéro si le fichier trouvé est le dernier dans le répertoire ou si une erreur s’est produite. Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError
Win32. Si le fichier trouvé est le dernier fichier du répertoire ou si aucun fichier correspondant n’est trouvé, la GetLastError
fonction retourne ERROR_NO_MORE_FILES
.
Notes
Vous devez appeler FindNextFile
au moins une fois avant d’appeler l’une des fonctions membres d’attribut suivantes :
FindNextFile
encapsule la fonction Win32 FindNextFile
.
Exemple
Consultez l’exemple pour CFileFind::IsDirectory
.
CFileFind::GetCreationTime
Appelez cette fonction membre pour obtenir l’heure de création du fichier spécifié.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Paramètres
pTimeStamp
Pointeur vers une FILETIME
structure contenant l’heure de création du fichier.
refTime
Référence à un objet CTime
.
Valeur de retour
Différent de zéro s’il réussit ; 0 en cas d’échec. GetCreationTime
retourne 0 uniquement s’il FindNextFile
n’a jamais été appelé sur cet CFileFind
objet.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetCreationTime
.
Remarque
Tous les systèmes de fichiers n’utilisent pas la même sémantique pour implémenter l’horodatage retourné par cette fonction. Cette fonction peut retourner la même valeur retournée par d’autres fonctions d’horodatage si le système de fichiers ou le serveur sous-jacent ne prend pas en charge la conservation de l’attribut de temps. Consultez la structure pour plus d’informations sur les WIN32_FIND_DATA
formats de temps. Sur certains systèmes d’exploitation, l’heure retournée se trouve dans le fuseau horaire local de l’ordinateur. Le fichier se trouve. Pour plus d’informations, consultez l’API Win32 FileTimeToLocalFileTime
.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::GetFileName
Appelez cette fonction membre pour obtenir le nom du fichier trouvé.
virtual CString GetFileName() const;
Valeur de retour
Nom du fichier le plus récemment trouvé.
Notes
Vous devez appeler FindNextFile
au moins une fois avant d’appeler GetFileName.
GetFileName
est l’une des trois CFileFind
fonctions membres qui retournent une forme du nom de fichier. La liste suivante décrit les trois et la façon dont ils varient :
GetFileName
retourne le nom du fichier, y compris l’extension. Par exemple, l’appelGetFileName
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le nommyfile.txt
du fichier.GetFilePath
retourne le chemin d’accès complet du fichier. Par exemple, l’appelGetFilePath
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le chemin d’accèsc:\myhtml\myfile.txt
au fichier.GetFileTitle
retourne le nom du fichier, à l’exclusion de l’extension de fichier. Par exemple, l’appelGetFileTitle
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le titremyfile
du fichier.
Exemple
CFileFind finder;
static const TCHAR szFileToFind[] = _T("C:\\WINDOWS\\SYSTEM.INI");
BOOL bResult = finder.FindFile(szFileToFind);
if (bResult)
{
finder.FindNextFile();
TRACE(_T("Root of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetRoot());
TRACE(_T("Title of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileTitle());
TRACE(_T("Path of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFilePath());
TRACE(_T("URL of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileURL());
TRACE(_T("Name of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileName());
finder.Close();
}
else
{
TRACE(_T("You have no %s file.\n"), szFileToFind);
}
CFileFind::GetFilePath
Appelez cette fonction membre pour obtenir le chemin complet du fichier spécifié.
virtual CString GetFilePath() const;
Valeur de retour
Chemin d’accès du fichier spécifié.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetFilePath
.
GetFilePath
est l’une des trois CFileFind
fonctions membres qui retournent une forme du nom de fichier. La liste suivante décrit les trois et la façon dont ils varient :
GetFileName
retourne le nom du fichier, y compris l’extension. Par exemple, l’appelGetFileName
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le nommyfile.txt
du fichier.GetFilePath
retourne le chemin d’accès complet du fichier. Par exemple, l’appelGetFilePath
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le chemin d’accèsc:\myhtml\myfile.txt
au fichier.GetFileTitle retourne le nom de fichier, à l’exclusion de l’extension de fichier. Par exemple, l’appel
GetFileTitle
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le titremyfile
du fichier.
Exemple
Consultez l’exemple pour CFileFind::GetFileName
.
CFileFind::GetFileTitle
Appelez cette fonction membre pour obtenir le titre du fichier trouvé.
virtual CString GetFileTitle() const;
Valeur de retour
Titre du fichier.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetFileTitle
.
GetFileTitle
est l’une des trois CFileFind
fonctions membres qui retournent une forme du nom de fichier. La liste suivante décrit les trois et la façon dont ils varient :
GetFileName
retourne le nom du fichier, y compris l’extension. Par exemple, l’appelGetFileName
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le nommyfile.txt
du fichier.GetFilePath
retourne le chemin d’accès complet du fichier. Par exemple, l’appelGetFilePath
pour générer un message utilisateur sur le fichier retourne le chemin d’accès au fichierc:\myhtml\myfile.txt
c :\myhtml\myfile.txt.GetFileTitle
retourne le nom du fichier, à l’exclusion de l’extension de fichier. Par exemple, l’appelGetFileTitle
pour générer un message utilisateur sur le fichierc:\myhtml\myfile.txt
retourne le titremyfile
du fichier.
Exemple
Consultez l’exemple pour CFileFind::GetFileName
.
CFileFind::GetFileURL
Appelez cette fonction membre pour récupérer l’URL spécifiée.
virtual CString GetFileURL() const;
Valeur de retour
URL complète.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetFileURL
.
GetFileURL
est similaire à la fonction GetFilePath
membre, sauf qu’elle retourne l’URL sous la forme file://path
. Par exemple, l’appel GetFileURL
pour obtenir l’URL complète pour myfile.txt
renvoyer l’URL file://c:\myhtml\myfile.txt
.
Exemple
Consultez l’exemple pour CFileFind::GetFileName
.
CFileFind::GetLastAccessTime
Appelez cette fonction membre pour obtenir l’heure à laquelle le fichier spécifié a été consulté pour la dernière fois.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Paramètres
refTime
Référence à un objet CTime
.
pTimeStamp
Pointeur vers une FILETIME
structure contenant l’heure à laquelle le fichier a été consulté pour la dernière fois.
Valeur de retour
Différent de zéro s’il réussit ; 0 en cas d’échec. GetLastAccessTime
retourne 0 uniquement s’il FindNextFile
n’a jamais été appelé sur cet CFileFind
objet.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetLastAccessTime
.
Remarque
Tous les systèmes de fichiers n’utilisent pas la même sémantique pour implémenter l’horodatage retourné par cette fonction. Cette fonction peut retourner la même valeur retournée par d’autres fonctions d’horodatage si le système de fichiers ou le serveur sous-jacent ne prend pas en charge la conservation de l’attribut de temps. Consultez la structure pour plus d’informations sur les WIN32_FIND_DATA
formats de temps. Sur certains systèmes d’exploitation, l’heure retournée se trouve dans le fuseau horaire local de l’ordinateur. Le fichier se trouve. Pour plus d’informations, consultez l’API Win32 FileTimeToLocalFileTime
.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::GetLastWriteTime
Appelez cette fonction membre pour obtenir la dernière fois que le fichier a été modifié.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Paramètres
pTimeStamp
Pointeur vers une FILETIME
structure contenant l’heure à laquelle le fichier a été écrit pour la dernière fois.
refTime
Référence à un objet CTime
.
Valeur de retour
Différent de zéro s’il réussit ; 0 en cas d’échec. GetLastWriteTime
retourne 0 uniquement s’il FindNextFile
n’a jamais été appelé sur cet CFileFind
objet.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetLastWriteTime
.
Remarque
Tous les systèmes de fichiers n’utilisent pas la même sémantique pour implémenter l’horodatage retourné par cette fonction. Cette fonction peut retourner la même valeur retournée par d’autres fonctions d’horodatage si le système de fichiers ou le serveur sous-jacent ne prend pas en charge la conservation de l’attribut de temps. Consultez la structure pour plus d’informations sur les WIN32_FIND_DATA
formats de temps. Sur certains systèmes d’exploitation, l’heure retournée se trouve dans le fuseau horaire local de l’ordinateur. Le fichier se trouve. Pour plus d’informations, consultez l’API Win32 FileTimeToLocalFileTime
.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::GetLength
Appelez cette fonction membre pour obtenir la longueur du fichier trouvé, en octets.
ULONGLONG GetLength() const;
Valeur de retour
Longueur du fichier trouvé, en octets.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetLength
.
GetLength
utilise la structure WIN32_FIND_DATA
Win32 pour obtenir et retourner la valeur de la taille du fichier, en octets.
Remarque
À partir de MFC 7.0, GetLength
prend en charge les types entiers 64 bits. Le code créé précédemment avec cette version plus récente de la bibliothèque peut entraîner des avertissements de troncation.
Exemple
// This code fragment prints out a very verbose directory
// listing for all the files in the root directory on the
// C: drive. After the file's name, each attribute of the
// file is printed, as are the creation, last access, and
// last write times.
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("C:\\*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
_tprintf_s(_T("%s\n\t"), (LPCTSTR)finder.GetFileName());
_tprintf_s(_T("%c"), finder.IsArchived() ? 'A' : 'a');
_tprintf_s(_T("%c"), finder.IsCompressed() ? 'C' : 'c');
_tprintf_s(_T("%c"), finder.IsHidden() ? 'H' : 'h');
_tprintf_s(_T("%c"), finder.IsNormal() ? 'N' : 'n');
_tprintf_s(_T("%c"), finder.IsReadOnly() ? 'R' : 'r');
_tprintf_s(_T("%c"), finder.IsSystem() ? 'S' : 's');
_tprintf_s(_T("%c"), finder.IsTemporary() ? 'T' : 't');
_tprintf_s(_T("\t%I64u byte(s)\n"), finder.GetLength());
CTime tempTime;
CString str;
_tprintf_s(_T("\tCreated : "));
if (finder.GetCreationTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\tLast Access: "));
if (finder.GetLastAccessTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\tLast Write : "));
if (finder.GetLastWriteTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\n"));
}
CFileFind::GetRoot
Appelez cette fonction membre pour obtenir la racine du fichier trouvé.
virtual CString GetRoot() const;
Valeur de retour
Racine de la recherche active.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
GetRoot
.
Cette fonction membre retourne le spécificateur de lecteur et le nom du chemin d’accès utilisé pour démarrer une recherche. Par exemple, l’appel FindFile
avec *.dat
des résultats retourne GetRoot
une chaîne vide. Passage d’un chemin, tel que c:\windows\system\*.dll
, aux FindFile
résultats GetRoot
qui retournent c:\windows\system\
.
Exemple
Consultez l’exemple pour CFileFind::GetFileName
.
CFileFind::IsArchived
Appelez cette fonction membre pour déterminer si le fichier trouvé est archivé.
BOOL IsArchived() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Les applications marquent un fichier d’archive, qui doit être sauvegardé ou supprimé, avec FILE_ATTRIBUTE_ARCHIVE
, un attribut de fichier identifié dans la WIN32_FIND_DATA
structure.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsArchived
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::IsCompressed
Appelez cette fonction membre pour déterminer si le fichier trouvé est compressé.
BOOL IsCompressed() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Un fichier compressé est marqué avec FILE_ATTRIBUTE_COMPRESSED
, un attribut de fichier identifié dans la WIN32_FIND_DATA
structure. Pour un fichier, cet attribut indique que toutes les données du fichier sont compressées. Pour un répertoire, cet attribut indique que la compression est la valeur par défaut pour les fichiers et sous-répertoires nouvellement créés.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsCompressed
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::IsDirectory
Appelez cette fonction membre pour déterminer si le fichier trouvé est un répertoire.
BOOL IsDirectory() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Un fichier qui est un répertoire est marqué avec FILE_ATTRIBUTE_DIRECTORY
un attribut de fichier identifié dans la WIN32_FIND_DATA
structure.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsDirectory
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Ce petit programme récurise chaque répertoire sur le lecteur C :\ et imprime le nom du répertoire.
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:"));
}
CFileFind::IsDots
Appelez cette fonction membre pour tester les marqueurs de répertoire actif et de répertoire parent lors de l’itération dans les fichiers.
virtual BOOL IsDots() const;
Valeur de retour
Différent de zéro si le fichier trouvé porte le nom « ». ou « ». », ce qui indique que le fichier trouvé est en fait un répertoire. Sinon, 0.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsDots
.
Exemple
Consultez l’exemple pour CFileFind::IsDirectory
.
CFileFind::IsHidden
Appelez cette fonction membre pour déterminer si le fichier trouvé est masqué.
BOOL IsHidden() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Fichiers masqués, marqués avec FILE_ATTRIBUTE_HIDDEN
, attribut de fichier identifié dans la WIN32_FIND_DATA
structure. Un fichier masqué n’est pas inclus dans une liste de répertoires ordinaire.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsHidden
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::IsNormal
Appelez cette fonction membre pour déterminer si le fichier trouvé est un fichier normal.
BOOL IsNormal() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Fichiers marqués avec FILE_ATTRIBUTE_NORMAL
, attribut de fichier identifié dans la WIN32_FIND_DATA
structure. Un fichier normal n’a pas d’autres attributs définis. Tous les autres attributs de fichier remplacent cet attribut.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsNormal
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::IsReadOnly
Appelez cette fonction membre pour déterminer si le fichier trouvé est en lecture seule.
BOOL IsReadOnly() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Un fichier en lecture seule est marqué avec FILE_ATTRIBUTE_READONLY
un attribut de fichier identifié dans la WIN32_FIND_DATA
structure. Les applications peuvent lire un tel fichier, mais elles ne peuvent pas y écrire ou les supprimer.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsReadOnly
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::IsSystem
Appelez cette fonction membre pour déterminer si le fichier trouvé est un fichier système.
BOOL IsSystem() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Un fichier système est marqué avec FILE_ATTRIBUTE_SYSTEM
, un attribut de fichier identifié dans la WIN32_FIND_DATA
structure. Un fichier système fait partie ou est utilisé exclusivement par le système d’exploitation.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsSystem
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::IsTemporary
Appelez cette fonction membre pour déterminer si le fichier trouvé est un fichier temporaire.
BOOL IsTemporary() const;
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Un fichier temporaire est marqué avec FILE_ATTRIBUTE_TEMPORARY
, un attribut de fichier identifié dans la WIN32_FIND_DATA
structure. Un fichier temporaire est utilisé pour le stockage temporaire. Les applications doivent écrire dans le fichier uniquement si nécessaire. La plupart des données du fichier restent en mémoire sans être vidées sur le média, car le fichier sera bientôt supprimé.
Vous devez appeler au moins une fois avant d’appeler FindNextFile
IsTemporary
.
Consultez la fonction MatchesMask
membre pour obtenir la liste complète des attributs de fichier.
Exemple
Consultez l’exemple pour CFileFind::GetLength
.
CFileFind::m_pTM
Pointeur vers un CAtlTransactionManager
objet.
CAtlTransactionManager* m_pTM;
Notes
CFileFind::MatchesMask
Appelez cette fonction membre pour tester les attributs de fichier sur le fichier trouvé.
virtual BOOL MatchesMask(DWORD dwMask) const;
Paramètres
dwMask
Spécifie un ou plusieurs attributs de fichier, identifiés dans la WIN32_FIND_DATA
structure, pour le fichier trouvé. Pour rechercher plusieurs attributs, utilisez l’opérateur OR (|
) au niveau du bit. Toute combinaison des attributs suivants est acceptable :
FILE_ATTRIBUTE_ARCHIVE
Le fichier est un fichier d’archivage. Les applications utilisent cet attribut pour marquer des fichiers à des fins de sauvegarde ou de suppression.FILE_ATTRIBUTE_COMPRESSED
Le fichier ou le répertoire est compressé. Pour un fichier, cela signifie que toutes les données du fichier sont compressées. Pour un répertoire, cela signifie que la compression est la valeur par défaut pour les fichiers et sous-répertoires nouvellement créés.FILE_ATTRIBUTE_DIRECTORY
Le fichier est un répertoire.FILE_ATTRIBUTE_NORMAL
Le fichier n’a pas d’autres attributs définis. Cet attribut n’est valide que s’il est utilisé seul. Tous les autres attributs de fichier remplacent cet attribut.FILE_ATTRIBUTE_HIDDEN
Le fichier est masqué. Il ne doit pas être inclus dans une liste d’annuaires ordinaire.FILE_ATTRIBUTE_READONLY
Le fichier est en lecture seule. Les applications peuvent lire le fichier, mais ne peuvent pas y écrire ou les supprimer.FILE_ATTRIBUTE_SYSTEM
Le fichier fait partie ou est utilisé exclusivement par le système d’exploitation.FILE_ATTRIBUTE_TEMPORARY
Le fichier est utilisé pour le stockage temporaire. Les applications doivent écrire dans le fichier uniquement si nécessaire. La plupart des données du fichier restent en mémoire sans être vidées sur le média, car le fichier sera bientôt supprimé.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0. Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError
Win32.
Notes
Vous devez appeler au moins une fois avant d’appeler FindNextFile
MatchesMask
.
Exemple
// This code fragment shows all of the files in the root directory
// of drive C: which have either the hidden attribute or the system
// attribute, or both.
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("C:\\*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.MatchesMask(FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_SYSTEM))
{
_tprintf_s(_T("%s\n"), (LPCTSTR) finder.GetFileName());
}
}
Voir aussi
CObject
Classe
Graphique hiérarchique
CFtpFileFind
Classe
CGopherFileFind
Classe
CInternetFile
Classe
CGopherFile
Classe
CHttpFile
Classe