Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Classe
Esegue ricerche nei file locali ed è la classe base per CGopherFileFind e CFtpFileFind, che eseguono ricerche nei file Internet.
Sintassi
class CFileFind : public CObject
Membri
Costruttori pubblici
| Nome | Descrizione |
|---|---|
CFileFind::CFileFind |
Costruisce un oggetto CFileFind. |
Metodi pubblici
| Nome | Descrizione |
|---|---|
CFileFind::Close |
Chiude la richiesta di ricerca. |
CFileFind::FindFile |
Cerca in una directory un nome di file specificato. |
CFileFind::FindNextFile |
Continua una ricerca di file da una chiamata precedente a FindFile. |
CFileFind::GetCreationTime |
Ottiene l'ora di creazione del file. |
CFileFind::GetFileName |
Ottiene il nome, inclusa l'estensione, del file trovato |
CFileFind::GetFilePath |
Ottiene l'intero percorso del file trovato. |
CFileFind::GetFileTitle |
Ottiene il titolo del file trovato. Il titolo non include l'estensione. |
CFileFind::GetFileURL |
Ottiene l'URL, incluso il percorso del file trovato. |
CFileFind::GetLastAccessTime |
Ottiene l'ora dell'ultimo accesso al file. |
CFileFind::GetLastWriteTime |
Ottiene l'ora dell'ultima modifica e salvataggio del file. |
CFileFind::GetLength |
Ottiene la lunghezza del file trovato, in byte. |
CFileFind::GetRoot |
Ottiene la directory radice del file trovato. |
CFileFind::IsArchived |
Determina se il file trovato è archiviato. |
CFileFind::IsCompressed |
Determina se il file trovato è compresso. |
CFileFind::IsDirectory |
Determina se il file trovato è una directory. |
CFileFind::IsDots |
Determina se il nome del file trovato ha il nome "." o ".".", che indica che è effettivamente una directory. |
CFileFind::IsHidden |
Determina se il file trovato è nascosto. |
CFileFind::IsNormal |
Determina se il file trovato è normale (in altre parole, non ha altri attributi). |
CFileFind::IsReadOnly |
Determina se il file trovato è di sola lettura. |
CFileFind::IsSystem |
Determina se il file trovato è un file di sistema. |
CFileFind::IsTemporary |
Determina se il file trovato è temporaneo. |
CFileFind::MatchesMask |
Indica gli attributi di file desiderati del file da trovare. |
Metodi protetti
| Nome | Descrizione |
|---|---|
CFileFind::CloseContext |
Chiude il file specificato dall'handle di ricerca corrente. |
Membri dati protetti
| Nome | Descrizione |
|---|---|
CFileFind::m_pTM |
Puntatore a un oggetto CAtlTransactionManager. |
Osservazioni:
CFileFind include funzioni membro che iniziano una ricerca, individuano un file e restituiscono il titolo, il nome o il percorso del file. Per le ricerche Internet, la funzione GetFileURL membro restituisce l'URL del file.
CFileFind è la classe base per altre due classi MFC progettate per la ricerca di tipi di server specifici: CGopherFileFind funziona in modo specifico con i server gopher e CFtpFileFind funziona in modo specifico con i server FTP. Insieme, queste tre classi forniscono un meccanismo semplice per il client per trovare i file, indipendentemente dal protocollo del server, dal tipo di file o dal percorso, in un computer locale o in un server remoto.
Il codice seguente enumererà tutti i file nella directory corrente, stampando il nome di ogni file:
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
Per semplificare l'esempio, questo codice usa la classe libreria cout standard C++. La cout riga può essere sostituita con una chiamata a CListBox::AddString, ad esempio in un programma con un'interfaccia utente grafica.
Per altre informazioni su come usare CFileFind e le altre classi WinInet, vedere l'articolo Programmazione Internet con WinInet.
Gerarchia di ereditarietà
CFileFind
Requisiti
Intestazione: afx.h
CFileFind::CFileFind
Questa funzione membro viene chiamata quando viene costruito un CFileFind oggetto .
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
Parametri
pTM
Puntatore all'oggetto CAtlTransactionManager
Esempio
Vedere l'esempio per CFileFind::GetFileName.
CFileFind::Close
Chiamare questa funzione membro per terminare la ricerca, reimpostare il contesto e rilasciare tutte le risorse.
void Close();
Osservazioni:
Dopo aver chiamato Close, non è necessario creare una nuova CFileFind istanza prima di chiamare FindFile per avviare una nuova ricerca.
Esempio
Vedere l'esempio per CFileFind::GetFileName.
CFileFind::CloseContext
Chiude il file specificato dall'handle di ricerca corrente.
virtual void CloseContext();
Osservazioni:
Chiude il file specificato dal valore corrente dell'handle di ricerca. Eseguire l'override di questa funzione per modificare il comportamento predefinito.
È necessario chiamare le FindFile funzioni o FindNextFile almeno una volta per recuperare un handle di ricerca valido. Le FindFile funzioni e FindNextFile usano l'handle di ricerca per individuare i file con nomi corrispondenti a un determinato nome.
CFileFind::FindFile
Chiamare questa funzione membro per aprire una ricerca di file.
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
Parametri
pstrName
Puntatore a una stringa contenente il nome del file da trovare. Se si passa NULL per pstrName, FindFile esegue una ricerca con caratteri jolly (*.*).
dwUnused
Riservato per rendere FindFile polimorfico le classi derivate. Deve essere 0.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0. Per ottenere informazioni estese sull'errore, chiamare la funzione GetLastErrorWin32 .
Osservazioni:
Dopo aver chiamato FindFile per avviare la ricerca di file, chiamare FindNextFile per recuperare i file successivi. È necessario chiamare almeno una volta prima di chiamare FindNextFile una delle funzioni membro dell'attributo seguenti:
Esempio
Vedere l'esempio per CFileFind::IsDirectory.
CFileFind::FindNextFile
Chiamare questa funzione membro per continuare una ricerca di file da una chiamata precedente a FindFile.
virtual BOOL FindNextFile();
Valore restituito
Diverso da zero se sono presenti più file; zero se il file trovato è l'ultimo nella directory o se si è verificato un errore. Per ottenere informazioni estese sull'errore, chiamare la funzione GetLastErrorWin32 . Se il file trovato è l'ultimo file nella directory o se non è possibile trovare file corrispondenti, la GetLastError funzione restituisce ERROR_NO_MORE_FILES.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile una delle funzioni membro dell'attributo seguenti:
FindNextFile esegue il wrapping della funzione FindNextFileWin32 .
Esempio
Vedere l'esempio per CFileFind::IsDirectory.
CFileFind::GetCreationTime
Chiamare questa funzione membro per ottenere l'ora di creazione del file specificato.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Parametri
pTimeStamp
Puntatore a una FILETIME struttura contenente l'ora di creazione del file.
refTime
Riferimento a un oggetto CTime.
Valore restituito
Diverso da zero se ha esito positivo; 0 in caso di esito negativo. GetCreationTime restituisce 0 solo se FindNextFile non è mai stato chiamato su questo CFileFind oggetto.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetCreationTime.
Nota
Non tutti i file system usano la stessa semantica per implementare il timestamp restituito da questa funzione. Questa funzione può restituire lo stesso valore restituito da altre funzioni timestamp se il file system o il server sottostante non supporta la conservazione dell'attributo time. Per informazioni sui formati temporali, vedere la WIN32_FIND_DATA struttura. In alcuni sistemi operativi, l'ora restituita si trova nel fuso orario locale del computer in cui si trova il file. Per altre informazioni, vedere l'API Win32 FileTimeToLocalFileTime .
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::GetFileName
Chiamare questa funzione membro per ottenere il nome del file trovato.
virtual CString GetFileName() const;
Valore restituito
Nome del file trovato più di recente.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetFileName.
GetFileName è una delle tre CFileFind funzioni membro che restituiscono una forma del nome file. L'elenco seguente descrive i tre e il modo in cui variano:
GetFileNamerestituisce il nome del file, inclusa l'estensione. Ad esempio, la chiamataGetFileNamea per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il nomemyfile.txtfile .GetFilePathrestituisce l'intero percorso del file. Ad esempio, la chiamataGetFilePatha per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il percorsoc:\myhtml\myfile.txtdel file .GetFileTitlerestituisce il nome del file, escluso l'estensione del file. Ad esempio, la chiamataGetFileTitlea per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il titolomyfiledel file .
Esempio
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
Chiamare questa funzione membro per ottenere il percorso completo del file specificato.
virtual CString GetFilePath() const;
Valore restituito
Percorso del file specificato.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetFilePath.
GetFilePath è una delle tre CFileFind funzioni membro che restituiscono una forma del nome file. L'elenco seguente descrive i tre e il modo in cui variano:
GetFileNamerestituisce il nome del file, inclusa l'estensione. Ad esempio, la chiamataGetFileNamea per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il nomemyfile.txtfile .GetFilePathrestituisce l'intero percorso del file. Ad esempio, la chiamataGetFilePatha per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il percorsoc:\myhtml\myfile.txtdel file .GetFileTitle restituisce il nome del file, escluso l'estensione del file. Ad esempio, la chiamata
GetFileTitlea per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il titolomyfiledel file .
Esempio
Vedere l'esempio per CFileFind::GetFileName.
CFileFind::GetFileTitle
Chiamare questa funzione membro per ottenere il titolo del file trovato.
virtual CString GetFileTitle() const;
Valore restituito
Titolo del file.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetFileTitle.
GetFileTitle è una delle tre CFileFind funzioni membro che restituiscono una forma del nome file. L'elenco seguente descrive i tre e il modo in cui variano:
GetFileNamerestituisce il nome del file, inclusa l'estensione. Ad esempio, la chiamataGetFileNamea per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il nomemyfile.txtfile .GetFilePathrestituisce l'intero percorso del file. Ad esempio, la chiamataGetFilePatha per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il percorso del file c:\myhtml\myfile.txt.GetFileTitlerestituisce il nome del file, escluso l'estensione del file. Ad esempio, la chiamataGetFileTitlea per generare un messaggio utente sul filec:\myhtml\myfile.txtrestituisce il titolomyfiledel file .
Esempio
Vedere l'esempio per CFileFind::GetFileName.
CFileFind::GetFileURL
Chiamare questa funzione membro per recuperare l'URL specificato.
virtual CString GetFileURL() const;
Valore restituito
URL completo.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetFileURL.
GetFileURL è simile alla funzione GetFilePathmembro , ad eccezione del fatto che restituisce l'URL nel formato file://path. Ad esempio, chiamando GetFileURL per ottenere l'URL completo per myfile.txt restituisce l'URL file://c:\myhtml\myfile.txt.
Esempio
Vedere l'esempio per CFileFind::GetFileName.
CFileFind::GetLastAccessTime
Chiamare questa funzione membro per ottenere l'ora dell'ultimo accesso al file specificato.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Parametri
refTime
Riferimento a un oggetto CTime.
pTimeStamp
Puntatore a una FILETIME struttura contenente l'ora dell'ultimo accesso al file.
Valore restituito
Diverso da zero se ha esito positivo; 0 in caso di esito negativo. GetLastAccessTime restituisce 0 solo se FindNextFile non è mai stato chiamato su questo CFileFind oggetto.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetLastAccessTime.
Nota
Non tutti i file system usano la stessa semantica per implementare il timestamp restituito da questa funzione. Questa funzione può restituire lo stesso valore restituito da altre funzioni timestamp se il file system o il server sottostante non supporta la conservazione dell'attributo time. Per informazioni sui formati temporali, vedere la WIN32_FIND_DATA struttura. In alcuni sistemi operativi, l'ora restituita si trova nel fuso orario locale del computer in cui si trova il file. Per altre informazioni, vedere l'API Win32 FileTimeToLocalFileTime .
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::GetLastWriteTime
Chiamare questa funzione membro per ottenere l'ultima volta che il file è stato modificato.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Parametri
pTimeStamp
Puntatore a una FILETIME struttura contenente l'ora dell'ultima scrittura del file.
refTime
Riferimento a un oggetto CTime.
Valore restituito
Diverso da zero se ha esito positivo; 0 in caso di esito negativo. GetLastWriteTime restituisce 0 solo se FindNextFile non è mai stato chiamato su questo CFileFind oggetto.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetLastWriteTime.
Nota
Non tutti i file system usano la stessa semantica per implementare il timestamp restituito da questa funzione. Questa funzione può restituire lo stesso valore restituito da altre funzioni timestamp se il file system o il server sottostante non supporta la conservazione dell'attributo time. Per informazioni sui formati temporali, vedere la WIN32_FIND_DATA struttura. In alcuni sistemi operativi, l'ora restituita si trova nel fuso orario locale del computer in cui si trova il file. Per altre informazioni, vedere l'API Win32 FileTimeToLocalFileTime .
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::GetLength
Chiamare questa funzione membro per ottenere la lunghezza del file trovato, in byte.
ULONGLONG GetLength() const;
Valore restituito
Lunghezza del file trovato, in byte.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetLength.
GetLength usa la struttura WIN32_FIND_DATA Win32 per ottenere e restituire il valore delle dimensioni del file, in byte.
Nota
A partire da MFC 7.0, GetLength supporta tipi integer a 64 bit. Il codice esistente creato in precedenza con questa versione più recente della libreria può generare avvisi di troncamento.
Esempio
// 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
Chiamare questa funzione membro per ottenere la radice del file trovato.
virtual CString GetRoot() const;
Valore restituito
Radice della ricerca attiva.
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile GetRoot.
Questa funzione membro restituisce l'identificatore di unità e il nome del percorso usati per avviare una ricerca. Ad esempio, la chiamata FindFile con *.dat comporta la GetRoot restituzione di una stringa vuota. Passaggio di un percorso, ad esempio c:\windows\system\*.dll, ai FindFile risultati GetRoot che c:\windows\system\restituiscono .
Esempio
Vedere l'esempio per CFileFind::GetFileName.
CFileFind::IsArchived
Chiamare questa funzione membro per determinare se il file trovato è archiviato.
BOOL IsArchived() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Le applicazioni contrassegnano un file di archivio, di cui eseguire il backup o la rimozione, con FILE_ATTRIBUTE_ARCHIVE, un attributo di file identificato nella WIN32_FIND_DATA struttura.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsArchived.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::IsCompressed
Chiamare questa funzione membro per determinare se il file trovato è compresso.
BOOL IsCompressed() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Un file compresso è contrassegnato con FILE_ATTRIBUTE_COMPRESSED, un attributo di file identificato nella WIN32_FIND_DATA struttura . Per un file, questo attributo indica che tutti i dati nel file sono compressi. Per una directory, questo attributo indica che la compressione è l'impostazione predefinita per i file e le sottodirectory appena creati.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsCompressed.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::IsDirectory
Chiamare questa funzione membro per determinare se il file trovato è una directory.
BOOL IsDirectory() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Un file che è una directory è contrassegnato con FILE_ATTRIBUTE_DIRECTORY un attributo di file identificato nella WIN32_FIND_DATA struttura.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsDirectory.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Questo piccolo programma ripete ogni directory nell'unità C:\ e stampa il nome della directory.
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
Chiamare questa funzione membro per verificare la directory corrente e i marcatori di directory padre durante l'iterazione dei file.
virtual BOOL IsDots() const;
Valore restituito
Diverso da zero se il file trovato ha il nome "." o ".".", che indica che il file trovato è effettivamente una directory. In caso contrario, 0
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsDots.
Esempio
Vedere l'esempio per CFileFind::IsDirectory.
CFileFind::IsHidden
Chiamare questa funzione membro per determinare se il file trovato è nascosto.
BOOL IsHidden() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
File nascosti, contrassegnati con FILE_ATTRIBUTE_HIDDEN, un attributo di file identificato nella WIN32_FIND_DATA struttura . Un file nascosto non è incluso in un elenco di directory normale.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsHidden.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::IsNormal
Chiamare questa funzione membro per determinare se il file trovato è un file normale.
BOOL IsNormal() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
File contrassegnati con FILE_ATTRIBUTE_NORMAL, un attributo di file identificato nella WIN32_FIND_DATA struttura . Un file normale non ha altri attributi impostati. Tutti gli altri attributi di file eseguono l'override di questo attributo.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsNormal.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::IsReadOnly
Chiamare questa funzione membro per determinare se il file trovato è di sola lettura.
BOOL IsReadOnly() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Un file di sola lettura è contrassegnato con FILE_ATTRIBUTE_READONLY, un attributo di file identificato nella WIN32_FIND_DATA struttura . Le applicazioni possono leggere un file di questo tipo, ma non possono scriverlo o eliminarlo.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsReadOnly.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::IsSystem
Chiamare questa funzione membro per determinare se il file trovato è un file di sistema.
BOOL IsSystem() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Un file di sistema è contrassegnato con FILE_ATTRIBUTE_SYSTEM, un attributo di file identificato nella WIN32_FIND_DATA struttura . Un file di sistema fa parte di o viene usato esclusivamente dal sistema operativo.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsSystem.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::IsTemporary
Chiamare questa funzione membro per determinare se il file trovato è un file temporaneo.
BOOL IsTemporary() const;
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Un file temporaneo è contrassegnato con FILE_ATTRIBUTE_TEMPORARY, un attributo di file identificato nella WIN32_FIND_DATA struttura . Un file temporaneo viene usato per l'archiviazione temporanea. Le applicazioni devono scrivere nel file solo se assolutamente necessario. La maggior parte dei dati del file rimane in memoria senza essere scaricata nel supporto perché il file verrà presto eliminato.
È necessario chiamare almeno una volta prima di chiamare FindNextFile IsTemporary.
Per un elenco completo degli attributi di file, vedere la funzione MatchesMask membro.
Esempio
Vedere l'esempio per CFileFind::GetLength.
CFileFind::m_pTM
Puntatore a un oggetto CAtlTransactionManager.
CAtlTransactionManager* m_pTM;
Osservazioni:
CFileFind::MatchesMask
Chiamare questa funzione membro per testare gli attributi del file nel file trovato.
virtual BOOL MatchesMask(DWORD dwMask) const;
Parametri
dwMask
Specifica uno o più attributi di file, identificati nella WIN32_FIND_DATA struttura, per il file trovato. Per cercare più attributi, usare l'operatore OR bit per bit (|). Qualsiasi combinazione degli attributi seguenti è accettabile:
FILE_ATTRIBUTE_ARCHIVEIl file è un file di archivio. Le applicazioni usano questo attributo per contrassegnare i file per il backup o la rimozione.FILE_ATTRIBUTE_COMPRESSEDIl file o la directory è compresso. Per un file, ciò significa che tutti i dati nel file sono compressi. Per una directory, ciò significa che la compressione è l'impostazione predefinita per i file e le sottodirectory appena creati.FILE_ATTRIBUTE_DIRECTORYIl file è una directory.FILE_ATTRIBUTE_NORMALIl file non ha altri attributi impostati. Questo attributo è valido solo se usato da solo. Tutti gli altri attributi di file eseguono l'override di questo attributo.FILE_ATTRIBUTE_HIDDENIl file è nascosto. Non deve essere incluso in un elenco di directory normale.FILE_ATTRIBUTE_READONLYIl file è di sola lettura. Le applicazioni possono leggere il file, ma non possono scriverlo o eliminarlo.FILE_ATTRIBUTE_SYSTEMIl file fa parte di o viene utilizzato esclusivamente dal sistema operativo.FILE_ATTRIBUTE_TEMPORARYIl file viene usato per l'archiviazione temporanea. Le applicazioni devono scrivere nel file solo se assolutamente necessario. La maggior parte dei dati del file rimane in memoria senza essere scaricata nel supporto perché il file verrà presto eliminato.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0. Per ottenere informazioni estese sull'errore, chiamare la funzione GetLastErrorWin32 .
Osservazioni:
È necessario chiamare almeno una volta prima di chiamare FindNextFile MatchesMask.
Esempio
// 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());
}
}
Vedi anche
CObject Classe
Grafico della gerarchia
CFtpFileFind Classe
CGopherFileFind Classe
CInternetFile Classe
CGopherFile Classe
CHttpFile Classe