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