Classe CFileFind
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 GetLastError
Win32 .
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 GetLastError
Win32 . 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 FindNextFile
Win32 .
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:
GetFileName
restituisce il nome del file, inclusa l'estensione. Ad esempio, la chiamataGetFileName
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il nomemyfile.txt
file .GetFilePath
restituisce l'intero percorso del file. Ad esempio, la chiamataGetFilePath
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il percorsoc:\myhtml\myfile.txt
del file .GetFileTitle
restituisce il nome del file, escluso l'estensione del file. Ad esempio, la chiamataGetFileTitle
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il titolomyfile
del 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:
GetFileName
restituisce il nome del file, inclusa l'estensione. Ad esempio, la chiamataGetFileName
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il nomemyfile.txt
file .GetFilePath
restituisce l'intero percorso del file. Ad esempio, la chiamataGetFilePath
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il percorsoc:\myhtml\myfile.txt
del file .GetFileTitle restituisce il nome del file, escluso l'estensione del file. Ad esempio, la chiamata
GetFileTitle
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il titolomyfile
del 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:
GetFileName
restituisce il nome del file, inclusa l'estensione. Ad esempio, la chiamataGetFileName
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il nomemyfile.txt
file .GetFilePath
restituisce l'intero percorso del file. Ad esempio, la chiamataGetFilePath
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il percorso del file c:\myhtml\myfile.txt.GetFileTitle
restituisce il nome del file, escluso l'estensione del file. Ad esempio, la chiamataGetFileTitle
a per generare un messaggio utente sul filec:\myhtml\myfile.txt
restituisce il titolomyfile
del 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 GetFilePath
membro , 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_ARCHIVE
Il file è un file di archivio. Le applicazioni usano questo attributo per contrassegnare i file per il backup o la rimozione.FILE_ATTRIBUTE_COMPRESSED
Il 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_DIRECTORY
Il file è una directory.FILE_ATTRIBUTE_NORMAL
Il 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_HIDDEN
Il file è nascosto. Non deve essere incluso in un elenco di directory normale.FILE_ATTRIBUTE_READONLY
Il file è di sola lettura. Le applicazioni possono leggere il file, ma non possono scriverlo o eliminarlo.FILE_ATTRIBUTE_SYSTEM
Il file fa parte di o viene utilizzato esclusivamente dal sistema operativo.FILE_ATTRIBUTE_TEMPORARY
Il 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 GetLastError
Win32 .
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