Partilhar via


basic_filebuf::open

Abre um arquivo.

basic_filebuf<Elem, Tr> *open(
    const char *_Filename,
    ios_base::openmode _Mode,
    int _Prot = (int)ios_base::_Openprot
);
basic_filebuf<Elem, Tr> *open(
    const char *_Filename,
    ios_base::openmode _Mode
);
basic_filebuf<Elem, Tr> *open(
    const wchar_t *_Filename,
    ios_base::openmode _Mode,
    int _Prot = (int)ios_base::_Openprot
);
basic_filebuf<Elem, Tr> *open(
    const wchar_t *_Filename,
    ios_base::openmode _Mode
);

Parâmetros

  • _Filename
    O nome do arquivo a ser aberta.

  • _Mode
    Uma das enumerações em ios_base::openmode.

  • _Prot
    A proteção de abertura do arquivo padrão, equivalente ao parâmetro de shflag em _fsopen, _wfsopen.

Valor de retorno

Se o ponteiro de arquivo for um ponteiro nulo, a função retorna um ponteiro nulo. Caso contrário, retorna this.

Comentários

A função de membro abre o arquivo com o nome de arquivodo nome de arquivo, chamando fopen(nome de arquivo, strmode). strmode é determinado de mode &~ (comeu& | binário):

  • ios_base::in se torna "r" (arquivo existente aberto para leitura).

  • ios_base::out ou ios_base::out | ios_base::trunc se tornam "w" (o arquivo existente truncado ou cria gravando).

  • ios_base::out | app se torna "a" (arquivo existente aberto para adicionar todas as gravações).

  • ios_base::in | ios_base::out se torna "r+" (arquivo existente aberto para leitura e gravação).

  • ios_base::in | ios_base::out | ios_base::trunc se torna "w+" (o arquivo existente truncado ou cria ler e escrever).

  • ios_base::in | ios_base::out | ios_base::app se torna "a+" (arquivo existente aberto para leitura e para adicionar todas as gravações).

Se mode & ios_base::binary for diferente de zero, a função b anexa a strmode para abrir um fluxo binário em vez de um fluxo de texto. Armazena o valor retornado por fopen no ponteiro de arquivo fp. Se mode & ios_base::ate for diferente de zero e o ponteiro de arquivo não for um ponteiro nulo, as chamadas de função fseek(fp, 0, SEEK_END) para posicionar o fluxo no final do arquivo. Se essa operação de posicionamento falhar, as chamadas de função término(fp) e armazena um ponteiro nulo no ponteiro de arquivo.

Se o ponteiro de arquivo não for um ponteiro nulo, a função determina a faceta de conversão de arquivo: use_facet<codecvt<Elem, char, traits_type::state_type> >(getloc), para uso de estouro negativo e de estouro.

Se o ponteiro de arquivo for um ponteiro nulo, a função retorna um ponteiro nulo. Caso contrário, retorna this.

Exemplo

Consulte basic_filebuf::close para obter um exemplo que usa open.

Requisitos

fstream <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe basic_filebuf

Programação iostream

Convenções iostreams