Compartilhar via


CFile::CFile

As compilações e inicializam um objeto de CFile .

CFile( );
CFile(
   CAtlTransactionManager* pTM
);
CFile(
   HANDLE hFile 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags,
   CAtlTransactionManager* pTM
);

Parâmetros

  • hFile
    Identificador de um arquivo para anexar a CFile o objeto.

  • lpszFileName
    Relativo ou caminho completo de um arquivo para anexar a CFile o objeto.

  • nOpenFlags
    Combinação bit a bit (OPERADOR) de opções de acesso de arquivo para o arquivo especificado.Consulte a seção comentários para opções possíveis.

  • pTM
    Ponteiro para o objeto de CAtlTransactionManager

Comentários

As cinco tabelas a seguir listam as opções possíveis para o parâmetro de nOpenFlags .

Escolha apenas uma das seguintes opções de modo de acesso de arquivo.o modo de acesso ao arquivo padrão é CFile::modeRead, que é somente leitura.

Valor

Descrição

CFile::modeRead

Solicita acesso somente leitura.

CFile::modeWrite

Solicita acesso de gravação somente.

CFile::modeReadWrite

Solicitar acesso de leitura e gravação.

Escolha uma das seguintes opções de modo de caracteres.

Valor

Descrição

CFile::typeBinary

Define o modo binário (usado em classes derivadas somente).

CFile::typeText

Defina o modo de texto com processamento especial para pares de retorno- alimentação de linha de carro (usados em classes derivadas somente).

CFile::typeUnicode

Defina o modo Unicode (usado em classes derivadas somente).O texto é escrito no arquivo no formato Unicode quando o aplicativo é construído uma configuração Unicode.Nenhum BOM é escrito no arquivo.

Escolha apenas uma das seguintes opções de modo de compartilhamento de arquivos.O modo padrão de compartilhamento de arquivos é CFile::shareExclusive, que é exclusivo.

Valor

Descrição

CFile::shareDenyNone

Quaisquer restrições compartilhando.

CFile::shareDenyRead

Nega acesso de leitura para qualquer outro.

CFile::shareDenyWrite

Nega acesso de gravação para qualquer outro.

CFile::shareExclusive

Nega acesso de leitura e gravação para qualquer outro.

Escolha o primeiro, ou ambos, as seguintes opções de modo de design do arquivo.O modo padrão de design é CFile::modeNoTruncateexistente, que é aberta.

Valor

Descrição

CFile::modeCreate

Cria um novo arquivo se nenhum arquivo existe; caso contrário, se o arquivo já existir, é anexado ao objeto de CFile e truncado a 0 comprimentos.

CFile::modeNoTruncate

Cria um novo arquivo se nenhum arquivo existe; caso contrário, se o arquivo já existir, é anexado ao objeto de CFile .

Escolha as seguintes opções de cache do arquivo como descritas.Por padrão, o sistema usa um esquema de uso geral de cache que não está disponível como uma opção.

Valor

Descrição

CFile::osNoBuffer

O sistema não usa um cache intermediária para o arquivo.Esta opção cancela as seguintes opções 2.

CFile::osRandomAccess

O cache do arquivo é otimizado para acesso aleatório.Não use esta opção e a opção seqüencial de verificação.

CFile::osSequentialScan

O cache do arquivo é otimizado para acesso seqüencial.Não use esta opção e a opção de acesso aleatório.

CFile::osWriteThrough

Operações de gravação são executadas sem demora.

Escolha a seguir opção de segurança para impedir que o identificador de arquivo é herdado.Por padrão, todos os processos novos filhos podem usar o identificador de arquivo.

Valor

Descrição

CFile::modeNoInherit

Impede que todos os processos filho usam o identificador de arquivo.

O construtor padrão inicializa membros mas não anexar um arquivo ao objeto de CFile .Após usado para esse construtor, use o método de CFile::Open para abrir um arquivo para e anexá-la ao objeto de CFile .

o construtor com um parâmetro inicializa membros e anexa um arquivo existente ao objeto de CFile .

O construtor com dois parâmetros inicializa membros e tenta abrir o arquivo especificado.Se esse construtor abre com êxito o arquivo especificado, o arquivo é anexado ao objeto de CFile ; caso contrário, esse construtor gera um ponteiro para um objeto de CInvalidArgException .Para obter mais informações sobre como manipular exceções, consulte Exceções.

Se um objeto de CFile abre com êxito um arquivo especificado, esse arquivo fechado automaticamente quando o objeto de CFile é destruído; caso contrário, você deve explicitamente feche o arquivo após não é anexado ao objeto de CFile .

Exemplo

Todos os três construtores são demonstrados no código a seguir.

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

Consulte também

Referência

Classe de CFile

Gráfico de hierarquia