Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Realiza pesquisas locais de ficheiros e é a classe base para CGopherFileFind e CFtpFileFind, que realizam pesquisas de ficheiros na Internet.
Sintaxe
class CFileFind : public CObject
Membros
Construtores Públicos
| Nome | Description |
|---|---|
CFileFind::CFileFind |
Constrói um CFileFind objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
CFileFind::Close |
Fecha o pedido de busca. |
CFileFind::FindFile |
Pesquisa num diretório por um nome de ficheiro especificado. |
CFileFind::FindNextFile |
Continua a pesquisa de ficheiros de uma chamada anterior para FindFile. |
CFileFind::GetCreationTime |
Obtém a hora em que o ficheiro foi criado. |
CFileFind::GetFileName |
Obtém o nome, incluindo a extensão, do ficheiro encontrado |
CFileFind::GetFilePath |
Obtém todo o percurso do ficheiro encontrado. |
CFileFind::GetFileTitle |
Obtém o título do ficheiro encontrado. O título não inclui a extensão. |
CFileFind::GetFileURL |
Obtém o URL, incluindo o caminho do ficheiro, do ficheiro encontrado. |
CFileFind::GetLastAccessTime |
Obtém a hora em que o ficheiro foi acedido pela última vez. |
CFileFind::GetLastWriteTime |
Obtém a hora em que o ficheiro foi alterado e guardado pela última vez. |
CFileFind::GetLength |
Obtém o comprimento do ficheiro encontrado, em bytes. |
CFileFind::GetRoot |
Obtém o diretório raiz do ficheiro encontrado. |
CFileFind::IsArchived |
Determina se o ficheiro encontrado está arquivado. |
CFileFind::IsCompressed |
Determina se o ficheiro encontrado está comprimido. |
CFileFind::IsDirectory |
Determina se o ficheiro encontrado é um diretório. |
CFileFind::IsDots |
Determina se o nome do ficheiro encontrado tem o nome "." ou "..", indicando que é na verdade um diretório. |
CFileFind::IsHidden |
Determina se o ficheiro encontrado está oculto. |
CFileFind::IsNormal |
Determina se o ficheiro encontrado é normal (ou seja, não tem outros atributos). |
CFileFind::IsReadOnly |
Determina se o ficheiro encontrado é apenas leitura. |
CFileFind::IsSystem |
Determina se o ficheiro encontrado é um ficheiro do sistema. |
CFileFind::IsTemporary |
Determina se o ficheiro encontrado é temporário. |
CFileFind::MatchesMask |
Indica os atributos desejados do ficheiro a encontrar. |
Métodos Protegidos
| Nome | Description |
|---|---|
CFileFind::CloseContext |
Fecha o ficheiro especificado pelo handle de pesquisa atual. |
Membros de Dados Protegidos
| Nome | Description |
|---|---|
CFileFind::m_pTM |
Aponta para um CAtlTransactionManager objeto. |
Observações
CFileFind inclui funções membros que iniciam uma pesquisa, localizam um ficheiro e retornam o título, nome ou caminho do ficheiro. Para pesquisas na Internet, a função GetFileURL membro devolve o URL do ficheiro.
CFileFind é a classe base para outras duas classes MFC concebidas para pesquisar tipos específicos de servidores: CGopherFileFind funciona especificamente com servidores gopher e CFtpFileFind funciona especificamente com servidores FTP. Juntas, estas três classes fornecem um mecanismo contínuo para o cliente encontrar ficheiros, independentemente do protocolo do servidor, tipo de ficheiro ou localização, numa máquina local ou num servidor remoto.
O código seguinte enumerará todos os ficheiros no diretório atual, imprimindo o nome de cada ficheiro:
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
Para simplificar o exemplo, este código utiliza a classe C++ Standard Library cout . A cout linha podia ser substituída por uma chamada para CListBox::AddString, por exemplo, num programa com interface gráfica.
Para mais informações sobre como usar CFileFind e as outras classes WinInet, consulte o artigo Programação na Internet com WinInet.
Hierarquia de herança
CFileFind
Requerimentos
Cabeçalho:afx.h
CFileFind::CFileFind
Esta função membro é chamada quando um CFileFind objeto é construído.
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
Parâmetros
pTM
Apontador para o objeto CAtlTransactionManager
Example
Veja o exemplo para CFileFind::GetFileName.
CFileFind::Close
Chame esta função membro para terminar a pesquisa, reiniciar o contexto e libertar todos os recursos.
void Close();
Observações
Depois de ligar Close, não precisa de criar uma nova CFileFind instância antes de ligar FindFile para iniciar uma nova pesquisa.
Example
Veja o exemplo para CFileFind::GetFileName.
CFileFind::CloseContext
Fecha o ficheiro especificado pelo handle de pesquisa atual.
virtual void CloseContext();
Observações
Fecha o ficheiro especificado pelo valor atual do handle de pesquisa. Substitua esta função para alterar o comportamento padrão.
Deve chamar as FindFile funções ou FindNextFile pelo menos uma vez para obter um handle de pesquisa válido. As FindFile funções e FindNextFile usam o handle de pesquisa para localizar ficheiros com nomes que correspondem a um nome próprio.
CFileFind::FindFile
Chama esta função membro para abrir uma pesquisa de ficheiros.
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
Parâmetros
pstrName
Um ponteiro para uma string contendo o nome do ficheiro a encontrar. Se passar NULL por pstrName, FindFile faz uma pesquisa coringa (*.*).
dwUnused
Reservado para tornar FindFile polimórfico com classes derivadas. Deve ser 0.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0. Para obter informação de erro alargada, chame a função GetLastErrorWin32 .
Observações
Depois de ligar FindFile para iniciar a pesquisa de ficheiros, ligue FindNextFile para recuperar os ficheiros seguintes. Deve chamar FindNextFile pelo menos uma vez antes de chamar qualquer uma das seguintes funções membros de atributo:
Example
Veja o exemplo para CFileFind::IsDirectory.
CFileFind::FindNextFile
Chame esta função membro para continuar uma pesquisa de ficheiro de uma chamada anterior para FindFile.
virtual BOOL FindNextFile();
Valor de retorno
Não nulo se houver mais ficheiros; zero se o ficheiro encontrado for o último no diretório ou se ocorreu um erro. Para obter informação de erro alargada, chame a função GetLastErrorWin32 . Se o ficheiro encontrado for o último do diretório, ou se não forem encontrados ficheiros correspondentes, a GetLastError função devolve ERROR_NO_MORE_FILES.
Observações
Deve chamar FindNextFile pelo menos uma vez antes de chamar qualquer uma das seguintes funções membros de atributo:
FindNextFile envolve a função FindNextFileWin32 .
Example
Veja o exemplo para CFileFind::IsDirectory.
CFileFind::GetCreationTime
Chame esta função membro para obter a hora em que o ficheiro especificado foi criado.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Parâmetros
pTimeStamp
Um ponteiro para uma FILETIME estrutura que contém o tempo em que o ficheiro foi criado.
refTime
Uma referência a um objeto CTime.
Valor de retorno
Não nulo se for bem-sucedido; 0 se não for bem-sucedido.
GetCreationTime retorna 0 apenas se FindNextFile nunca foi chamado a este CFileFind objeto.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetCreationTime.
Observação
Nem todos os sistemas de ficheiros usam a mesma semântica para implementar o carimbo temporal devolvido por esta função. Esta função pode devolver o mesmo valor devolvido por outras funções de carimbo temporal se o sistema de ficheiros subjacente ou servidor não suportar a manutenção do atributo tempo. Consulte a WIN32_FIND_DATA estrutura para informações sobre formatos temporais. Em alguns sistemas operativos, a hora devolvida está no fuso horário local da máquina onde o ficheiro está localizado. Consulte a API do Win32 FileTimeToLocalFileTime para mais informações.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::GetFileName
Chame esta função membro para obter o nome do ficheiro encontrado.
virtual CString GetFileName() const;
Valor de retorno
O nome do ficheiro mais recentemente encontrado.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar para o GetFileName.
GetFileName é uma das três CFileFind funções membros que retornam alguma forma do nome do ficheiro. A lista seguinte descreve os três e como eles variam:
GetFileNamedevolve o nome do ficheiro, incluindo a extensão. Por exemplo, ao ligarGetFileNamepara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txt, devolve o nomemyfile.txtdo ficheiro .GetFilePathdevolve todo o caminho do ficheiro. Por exemplo, ao chamarGetFilePathpara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txtdevolve o caminhoc:\myhtml\myfile.txtdo ficheiro .GetFileTitledevolve o nome do ficheiro, excluindo a extensão do ficheiro. Por exemplo, ao chamarGetFileTitlepara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txtdevolve o títulomyfiledo ficheiro .
Example
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
Chame esta função membro para obter o caminho completo do ficheiro especificado.
virtual CString GetFilePath() const;
Valor de retorno
O caminho do ficheiro especificado.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetFilePath.
GetFilePath é uma das três CFileFind funções membros que retornam alguma forma do nome do ficheiro. A lista seguinte descreve os três e como eles variam:
GetFileNamedevolve o nome do ficheiro, incluindo a extensão. Por exemplo, ao ligarGetFileNamepara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txt, devolve o nomemyfile.txtdo ficheiro .GetFilePathdevolve todo o caminho do ficheiro. Por exemplo, ao chamarGetFilePathpara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txtdevolve o caminhoc:\myhtml\myfile.txtdo ficheiro .GetFileTitle devolve o nome do ficheiro, excluindo a extensão do ficheiro. Por exemplo, ao chamar
GetFileTitlepara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txtdevolve o títulomyfiledo ficheiro .
Example
Veja o exemplo para CFileFind::GetFileName.
CFileFind::GetFileTitle
Chame esta função de membro para obter o título do ficheiro encontrado.
virtual CString GetFileTitle() const;
Valor de retorno
O título do ficheiro.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetFileTitle.
GetFileTitle é uma das três CFileFind funções membros que retornam alguma forma do nome do ficheiro. A lista seguinte descreve os três e como eles variam:
GetFileNamedevolve o nome do ficheiro, incluindo a extensão. Por exemplo, ao ligarGetFileNamepara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txt, devolve o nomemyfile.txtdo ficheiro .GetFilePathdevolve todo o caminho do ficheiro. Por exemplo, chamarGetFilePathpara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txtretorna o caminho do ficheiro c:\myhtml\myfile.txt.GetFileTitledevolve o nome do ficheiro, excluindo a extensão do ficheiro. Por exemplo, ao chamarGetFileTitlepara gerar uma mensagem de utilizador sobre o ficheiroc:\myhtml\myfile.txtdevolve o títulomyfiledo ficheiro .
Example
Veja o exemplo para CFileFind::GetFileName.
CFileFind::GetFileURL
Chame esta função membro para recuperar a URL especificada.
virtual CString GetFileURL() const;
Valor de retorno
A URL completa.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetFileURL.
GetFileURL é semelhante à função GetFilePathmembro , exceto que devolve a URL na forma file://path. Por exemplo, chamar GetFileURL para obter o URL completo para myfile.txt devolve o URL file://c:\myhtml\myfile.txt.
Example
Veja o exemplo para CFileFind::GetFileName.
CFileFind::GetLastAccessTime
Chame esta função membro para obter a data em que o ficheiro especificado foi acedido pela última vez.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Parâmetros
refTime
Uma referência a um objeto CTime.
pTimeStamp
Um ponteiro para uma FILETIME estrutura que contém a última vez que o ficheiro foi acedido.
Valor de retorno
Não nulo se for bem-sucedido; 0 se não for bem-sucedido.
GetLastAccessTime retorna 0 apenas se FindNextFile nunca foi chamado a este CFileFind objeto.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetLastAccessTime.
Observação
Nem todos os sistemas de ficheiros usam a mesma semântica para implementar o carimbo temporal devolvido por esta função. Esta função pode devolver o mesmo valor devolvido por outras funções de carimbo temporal se o sistema de ficheiros subjacente ou servidor não suportar a manutenção do atributo tempo. Consulte a WIN32_FIND_DATA estrutura para informações sobre formatos temporais. Em alguns sistemas operativos, a hora devolvida está no fuso horário local da máquina onde o ficheiro está localizado. Consulte a API do Win32 FileTimeToLocalFileTime para mais informações.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::GetLastWriteTime
Chame esta função membro para obter a última vez que o ficheiro foi alterado.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Parâmetros
pTimeStamp
Um ponteiro para uma FILETIME estrutura que contém a última vez em que o ficheiro foi escrito.
refTime
Uma referência a um objeto CTime.
Valor de retorno
Não nulo se for bem-sucedido; 0 se não for bem-sucedido.
GetLastWriteTime retorna 0 apenas se FindNextFile nunca foi chamado a este CFileFind objeto.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetLastWriteTime.
Observação
Nem todos os sistemas de ficheiros usam a mesma semântica para implementar o carimbo temporal devolvido por esta função. Esta função pode devolver o mesmo valor devolvido por outras funções de carimbo temporal se o sistema de ficheiros subjacente ou servidor não suportar a manutenção do atributo tempo. Consulte a WIN32_FIND_DATA estrutura para informações sobre formatos temporais. Em alguns sistemas operativos, a hora devolvida está no fuso horário local da máquina onde o ficheiro está localizado. Consulte a API do Win32 FileTimeToLocalFileTime para mais informações.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::GetLength
Chame esta função membro para obter o comprimento do ficheiro encontrado, em bytes.
ULONGLONG GetLength() const;
Valor de retorno
O comprimento do ficheiro encontrado, em bytes.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetLength.
GetLength usa a estrutura WIN32_FIND_DATA Win32 para obter e devolver o valor do tamanho do ficheiro, em bytes.
Observação
A partir do MFC 7.0, GetLength suporta tipos inteiros de 64 bits. Código anteriormente existente, construído com esta versão mais recente da biblioteca, pode resultar em avisos de truncamento.
Example
// 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
Chame esta função membro para obter a raiz do ficheiro encontrado.
virtual CString GetRoot() const;
Valor de retorno
A raiz da pesquisa ativa.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar GetRoot.
Esta função membro devolve o especificador da unidade e o nome do caminho usados para iniciar uma pesquisa. Por exemplo, chamar FindFile com *.dat resulta em GetRoot devolver uma cadeia vazia. Passar um caminho, como c:\windows\system\*.dll, para FindFile resultados, GetRoot retorna c:\windows\system\.
Example
Veja o exemplo para CFileFind::GetFileName.
CFileFind::IsArchived
Chame esta função membro para determinar se o ficheiro encontrado está arquivado.
BOOL IsArchived() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
As aplicações marcam um ficheiro de arquivo, que deve ser feito backup ou removido, com FILE_ATTRIBUTE_ARCHIVE, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsArchived.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::IsCompressed
Chame esta função membro para determinar se o ficheiro encontrado está comprimido.
BOOL IsCompressed() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Um ficheiro comprimido é marcado com FILE_ATTRIBUTE_COMPRESSED, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura. Para um ficheiro, este atributo indica que todos os dados do ficheiro estão comprimidos. Para um diretório, este atributo indica que a compressão é o padrão para ficheiros e subdiretórios recém-criados.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsCompressed.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::IsDirectory
Chame esta função membro para determinar se o ficheiro encontrado é um diretório.
BOOL IsDirectory() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Um ficheiro que é um diretório é marcado com FILE_ATTRIBUTE_DIRECTORY um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsDirectory.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Este pequeno programa recorre todos os diretórios na unidade C:\ e imprime o nome do diretório.
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
Chame esta função membro para testar o diretório atual e os marcadores do diretório pai enquanto itera através dos ficheiros.
virtual BOOL IsDots() const;
Valor de retorno
Diferente de zero se o ficheiro encontrado tiver o nome "." ou "..", o que indica que o ficheiro encontrado é na verdade um diretório. Caso contrário, 0.
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsDots.
Example
Veja o exemplo para CFileFind::IsDirectory.
CFileFind::IsHidden
Chame esta função membro para determinar se o ficheiro encontrado está oculto.
BOOL IsHidden() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Ficheiros ocultos, que são marcados com FILE_ATTRIBUTE_HIDDEN, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura. Um ficheiro oculto não está incluído numa lista de diretórios comum.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsHidden.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::IsNormal
Chame esta função membro para determinar se o ficheiro encontrado é um ficheiro normal.
BOOL IsNormal() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Ficheiros marcados com FILE_ATTRIBUTE_NORMAL, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura. Um ficheiro normal não tem outros atributos definidos. Todos os outros atributos do ficheiro sobrepõem-se a este atributo.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsNormal.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::IsReadOnly
Chame esta função membro para determinar se o ficheiro encontrado é só de leitura.
BOOL IsReadOnly() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Um ficheiro de apenas leitura é marcado com FILE_ATTRIBUTE_READONLY, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura. As aplicações podem ler tal ficheiro, mas não podem escrever nele nem apagá-lo.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsReadOnly.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::IsSystem
Chame esta função membro para determinar se o ficheiro encontrado é um ficheiro do sistema.
BOOL IsSystem() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Um ficheiro de sistema é marcado com FILE_ATTRIBUTE_SYSTEM, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura. Um ficheiro de sistema faz parte, ou é usado exclusivamente pelo sistema operativo.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsSystem.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::IsTemporary
Chame esta função membro para determinar se o ficheiro encontrado é temporário.
BOOL IsTemporary() const;
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Um ficheiro temporário é marcado com FILE_ATTRIBUTE_TEMPORARY, um atributo de ficheiro identificado na WIN32_FIND_DATA estrutura. Um ficheiro temporário é usado para armazenamento temporário. As aplicações devem escrever no ficheiro apenas se for absolutamente necessário. A maior parte dos dados do ficheiro permanece na memória sem ser esvaziada para o suporte, pois o ficheiro será rapidamente eliminado.
Deve ligar FindNextFile pelo menos uma vez antes de ligar IsTemporary.
Consulte a função MatchesMask membro para uma lista completa dos atributos do ficheiro.
Example
Veja o exemplo para CFileFind::GetLength.
CFileFind::m_pTM
Aponta para um CAtlTransactionManager objeto.
CAtlTransactionManager* m_pTM;
Observações
CFileFind::MatchesMask
Chame esta função membro para testar os atributos do ficheiro no ficheiro encontrado.
virtual BOOL MatchesMask(DWORD dwMask) const;
Parâmetros
dwMask
Especifica um ou mais atributos do ficheiro, identificados na WIN32_FIND_DATA estrutura, para o ficheiro encontrado. Para procurar múltiplos atributos, use o operador bit a bit OR (|). Qualquer combinação dos seguintes atributos é aceitável:
FILE_ATTRIBUTE_ARCHIVEO ficheiro é um arquivo de arquivo. As aplicações usam este atributo para marcar ficheiros para backup ou remoção.FILE_ATTRIBUTE_COMPRESSEDO ficheiro ou diretório é comprimido. Para um ficheiro, isto significa que todos os dados do ficheiro são comprimidos. Para um diretório, isto significa que a compressão é o padrão para ficheiros e subdiretórios recém-criados.FILE_ATTRIBUTE_DIRECTORYO ficheiro é um diretório.FILE_ATTRIBUTE_NORMALO ficheiro não tem outros atributos definidos. Este atributo é válido apenas se usado isoladamente. Todos os outros atributos do ficheiro sobrepõem-se a este atributo.FILE_ATTRIBUTE_HIDDENO ficheiro está escondido. Não deve ser incluído numa lista de diretórios comum.FILE_ATTRIBUTE_READONLYO ficheiro é apenas de leitura. As aplicações podem ler o ficheiro, mas não podem escrever nele nem apagá-lo.FILE_ATTRIBUTE_SYSTEMO ficheiro faz parte ou é usado exclusivamente pelo sistema operativo.FILE_ATTRIBUTE_TEMPORARYO ficheiro está a ser usado para armazenamento temporário. As aplicações devem escrever no ficheiro apenas se for absolutamente necessário. A maior parte dos dados do ficheiro permanece na memória sem ser esvaziada para o suporte, pois o ficheiro será rapidamente eliminado.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0. Para obter informação de erro alargada, chame a função GetLastErrorWin32 .
Observações
Deve ligar FindNextFile pelo menos uma vez antes de ligar MatchesMask.
Example
// 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());
}
}
Consulte também
CObject Classe
Gráfico de Hierarquia
CFtpFileFind Classe
CGopherFileFind Classe
CInternetFile Classe
CGopherFile Classe
CHttpFile Classe