Namespaces
Variants

std::basic_ofstream<CharT,Traits>:: open

From cppreference.net

void open ( const char * filename,

std:: ios_base :: openmode mode

= std:: ios_base :: out ) ;
(1)
void open ( const std :: filesystem :: path :: value_type * filename,

std:: ios_base :: openmode mode

= std:: ios_base :: out ) ;
(2) (desde C++17)
(3) (desde C++11)
(4) (desde C++17)

Abre y asocia el archivo con el nombre filename con el flujo de archivo.

Llama a clear ( ) en caso de éxito. Llama a setstate ( failbit ) en caso de fallo.

1,2) Efectivamente llama rdbuf ( ) - > open ( filename, mode | ios_base :: out ) (ver std::basic_filebuf::open para los detalles sobre los efectos de esa llamada). La sobrecarga (2) solo se proporciona si std::filesystem::path::value_type no es char . (desde C++17)
3,4) Efectivamente llama a (1,2) como si fuera mediante open ( filename. c_str ( ) , mode ) .

Contenidos

Parámetros

filename - el nombre del archivo a abrir
mode - especifica el modo de apertura del flujo. Es un BitmaskType , las siguientes constantes están definidas:
Constante Explicación
app buscar al final del flujo antes de cada escritura
binary abrir en modo binario
in abrir para lectura
out abrir para escritura
trunc descartar el contenido del flujo al abrir
ate buscar al final del flujo inmediatamente después de abrir
noreplace (C++23) abrir en modo exclusivo

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 22 C++98 no estaba claro cómo cambia el estado de error tras una apertura exitosa el estado de error permanece sin cambios
LWG 409 C++98 el estado de error permanecía sin cambios tras una apertura exitosa se borra [1]
  1. La resolución del issue #22 de LWG está anulada.

Véase también

verifica si el flujo tiene un archivo asociado
(función miembro pública)
cierra el archivo asociado
(función miembro pública)
abre un archivo y lo configura como la secuencia de caracteres asociada
(función miembro pública de std::basic_filebuf<CharT,Traits> )