CFile::CFile
O construtor padrão não abre um arquivo mas em vez disso, define m_hFile para CFile::hFileNull.
CFile( );
CFile(
HANDLE hFile
);
CFile(
LPCTSTR lpszFileName,
UINT nOpenFlags
);
Parâmetros
hFile
The HFILE retornado de uma telefonar anterior CreateFile, sistema autônomo descrito o Windows SDK.lpszFileName
Uma seqüência de caracteres que é o caminho para o arquivo desejado.O caminho pode ser relativo ou absoluto.nOpenFlags
Modo de compartilhamento e acesso.Especifica a ação a ser tomada quando abrir o arquivo.Você pode agrupar opções listadas abaixo, usando o operador bit a bit ou (|) operador.São necessários; permissão de acesso de um e opção de uma partilha o modeCreate and modeNoInherit modos são opcionais.sistema autônomo valores são:CFile::modeCreate Direciona o construtor para criar um novo arquivo.Se o arquivo já existir, será truncado para comprimento 0.
CFile::modeNoTruncate agrupar esse valor com modeCreate.Se o arquivo que está sendo criado já existir, não será truncado para comprimento 0.Além disso, se o arquivo que está sendo criado já existir, o ponteiro do arquivo subjacente apontará para o início do arquivo.Este sinalizar garante o arquivo seja em aberto, sistema autônomo um arquivo recém-criado ou sistema autônomo um arquivo existente.Isso pode ser útil, por exemplo, ao abrir um arquivo de configurações que pode ou não existir já.Esta opção se aplica a CStdioFile também.
CFile::modeRead Abre o arquivo de somente leitura.
CFile::modeReadWrite Abre o arquivo para leitura e gravação.
CFile::modeWrite Abre o arquivo para gravar apenas.
CFile::modeNoInherit Impede que o arquivo sendo herdado pelos processos filhos.
CFile::shareDenyNone Abre o arquivo sem negar outros processos de leitura ou acesso de gravar para o arquivo.Criar falhará se o arquivo foi aberto no modo de compatibilidade por qualquer Outros processo.
CFile::shareDenyRead Abre o arquivo e nega o acesso de leitura Outros processos para o arquivo.Criar falhará se o arquivo foi aberto no modo de compatibilidade ou acesso de leitura por qualquer Outros processo.
CFile::shareDenyWrite Abre o arquivo e nega o acesso de gravar Outros processos para o arquivo.Criar falhará se o arquivo foi aberto no modo de compatibilidade ou acesso de gravar por qualquer Outros processo.
CFile::shareExclusive Abre o arquivo com o modo exclusivo, negando outros processos tanto a leitura e gravar acesso para o arquivo.Construção falha se o arquivo tiver sido aberto em qualquer Outros modo para acesso de leitura ou gravar, até mesmo pelo processo corrente.
CFile::shareCompat Este sinalizar não está disponível no MFC de 32 bit e 64 bit.Este sinalizar mapeia para CFile::shareExclusive quando usado em CFile::Open.
CFile::typeText Define o modo de texto com processamento especial para pares de return–linefeed de carro (usada em somente as classes derivadas).
CFile::typeBinary Define o modo binário (usado em somente as classes derivadas).
**CFile::osNoBuffer **O sistema abre um arquivo com nenhum cache do sistema.Para obter mais informações, consulte FILE_FLAG_NO_BUFFERING in CreateFile in the Windows SDK.
**CFile::osWriteThrough **O sistema grava por qualquer cache intermediário e vai diretamente para disco.Para obter mais informações, consulte FILE_FLAG_WRITE_THROUGH in CreateFile in the Windows SDK.
**CFile::osRandomAccess **Um arquivo é acessado aleatoriamente.O sistema pode usar isso sistema autônomo uma dica para otimizar o armazenamento em cache de arquivos.
**CFile::osSequentialScan **Um arquivo é acessado seqüencialmente do início ao participante.O sistema pode usar isso sistema autônomo uma dica para otimizar o armazenamento em cache de arquivos.Para obter mais informações, consulte FILE_FLAG_SEQUENTIAL_SCAN in CreateFile in the Windows SDK.
Comentários
Porque esse construtor não lançar uma exceção, não faz sentido usar TENTE/CATCH lógica.Use o em abertofunção de membro e, em seguida, teste diretamente para as condições de exceção.Para obter uma abordagem de estratégia de processamento de exceção, consulte o artigo Exceções.
O construtor com um argumento cria um CFile objeto que corresponde a um arquivo de sistema operacional existente identificado por hFile. Nenhuma verificação é feita o tipo de arquivo ou modo de acesso.Quando o CFile objeto é destruído, o arquivo de sistema operacional não será fechado. Você deve fechar o arquivo você mesmo.
O construtor com dois argumentos cria um CFile objeto e abre o correspondente sistema operacional arquivo com o caminho fornecido. Esse construtor combina as funções de construtor primeiro e o em abertofunção de membro .Ele lançará uma exceção se não houver um erro ao abrir o arquivo.Em geral, isso significa que o erro é irrecuperável e que o usuário deve ser alertado.
Exemplo
Para obter um exemplo usando o construtor padrão, consulte CFile::em aberto.Para obter um exemplo usando o construtor que lança exceções, consulte CATCH.
O construtor HANDLE pode ser usado sistema autônomo no código a seguir, que cria um arquivo chamado C:\MyFile.DAT e grava sistema autônomo caracteres ANSI "É melhor hóquei!":
HANDLE hFile = CreateFile(_T("CFile_File.dat"),
GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox(_T("Couldn't create the file!"));
}
else
{
// Attach a CFile object to the handle we have.
CFile myFile(hFile);
static const TCHAR sz[] = _T("I love CFile!");
// write string
myFile.Write(sz, sizeof(sz));
// We can call Close() explicitly, but the destructor would have
// also closed the file for us. Note that there's no need to
// call the CloseHandle() on the handle returned by the API because
// MFC will close it for us.
myFile.Close();
Requisitos
Cabeçalho: afx.h