Compartir a través de


basic_filebuf::open

Abre un archivo.

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
    El nombre de archivo para abrir.

  • _Mode
    Una de las enumeraciones en ios_base::openmode.

  • _Prot
    Protección de apertura de archivos predeterminado, equivalente al parámetro de shflag en _fsopen, _wfsopen.

Valor devuelto

Si el puntero de archivo es un puntero NULL, la función devuelve un puntero NULL. De lo contrario, devuelve this.

Comentarios

La función miembro abre el archivo con el nombre de archivode nombre de archivo, llamando a fopen(nombre de archivo, strmode). strmode se determina de modo &~ (comió & | binario):

  • ios_base::in se convierte en "r" (archivo existente abierto para lectura).

  • ios_base::out o ios_base::out | ios_base::trunc se convierte en "w" (el archivo existente truncado o creado para escribir).

  • ios_base::out | app se convierte en "a" (archivo existente abierto para anexar todas las etiquetas).

  • ios_base::in | ios_base::out se convierte en "r+" (archivo existente abierto para leer y escribir).

  • ios_base::in | ios_base::out | ios_base::trunc se convierte en "w+" (el archivo existente truncado o crea para leer y escribir).

  • ios_base::in | ios_base::out | ios_base::app se convierte en "a+" (archivo existente abierto para lectura y anexar todas las etiquetas).

Si mode & ios_base::binary es cero, la función anexa t a strmode para abrir una secuencia binaria en lugar de una secuencia de texto. A continuación almacena el valor devuelto por fopen en el puntero de archivo fp. Si mode & ios_base::ate es cero y el puntero de archivo no es un puntero NULL, la función fseek(fp, 0, SEEK_END) para colocar la secuencia al final del archivo. Si se produce un error en la operación de posición, las llamadas de función cerrar(fp) y almacena un puntero NULL en el puntero de archivo.

Si el puntero de archivo no es un puntero NULL, la función determina la faceta de la conversión de archivos: use_facet<codecvt<Elem, char, traits_type::state_type> >(getloc), para uso de subdesbordamiento y de Desbordamiento.

Si el puntero de archivo es un puntero NULL, la función devuelve un puntero NULL. De lo contrario, devuelve this.

Ejemplo

Vea basic_filebuf::close para obtener un ejemplo que utiliza OPEN.

Requisitos

fstream <deEncabezado: >

Espacio de nombres: std

Vea también

Referencia

basic_filebuf (Clase)

Programación con iostream

Convenciones de iostreams