Compartilhar via


Abrindo arquivos

No MFC, a maneira mais comum de abrir um arquivo é um processo de dois estágios.

Para abrir um arquivo

  1. Crie o objeto de arquivo sem especificar um caminho ou sinalizadores de permissão.

    Você geralmente cria um objeto de arquivo declarando uma variável CFile no quadro de pilha.

  2. Chame a função membro Abrir para o objeto de arquivo, fornecendo um caminho e sinalizadores de permissão.

    O valor retornado para Open será diferente de zero se o arquivo tiver sido aberto com êxito, ou 0 se o arquivo especificado não puder ser aberto. A função membro Open tem um protótipo da seguinte maneira:

    virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );

    Os sinalizadores abertos especificam quais permissões, como somente leitura, você deseja para o arquivo. Os valores de sinalizador possíveis são definidos como constantes enumeradas dentro da classe CFile, portanto, eles são qualificados com "CFile::" como em CFile::modeRead. Use o sinalizador CFile::modeCreate se quiser criar o arquivo.

O exemplo a seguir mostra como criar um novo arquivo com permissão de leitura/gravação (substituindo qualquer arquivo anterior pelo mesmo caminho):

TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;

if ( !myFile.Open( pszFileName, CFile::modeCreate |   
        CFile::modeReadWrite, &fileException ) )
{
   TRACE( _T("Can't open file %s, error = %u\n"),
      pszFileName, fileException.m_cause );
}

Observação

Este exemplo cria e abre um arquivo. Se houver problemas, a chamada Open poderá retornar um objeto CFileException em seu último parâmetro, conforme mostrado aqui. A macro TRACE imprime o nome do arquivo e um código que indica o motivo da falha. Você pode chamar a função AfxThrowFileException se precisar de relatórios de erros mais detalhados.

Confira também

Classe CFile
CFile::Open
Arquivos