C++ Modos de apertura


Ejemplo

Al crear una secuencia de archivos, puede especificar un modo de apertura. Un modo de apertura es básicamente una configuración para controlar cómo la secuencia abre el archivo.

(Todos los modos se pueden encontrar en el std::ios nombres std::ios ).

Se puede proporcionar un modo de apertura como segundo parámetro para el constructor de un flujo de archivos o para su función miembro open() :

std::ofstream os("foo.txt", std::ios::out | std::ios::trunc);

std::ifstream is;
is.open("foo.txt", std::ios::in | std::ios::binary);

Se debe tener en cuenta que debe configurar ios::in o ios::out si desea establecer otros indicadores, ya que no están establecidos de forma implícita por los miembros de iostream aunque tengan un valor predeterminado correcto.

Si no especifica un modo de apertura, se utilizan los siguientes modos predeterminados:

  • ifstream - in
  • ofstream - out
  • fstream - in y out

Los modos de apertura de archivos que puede especificar por diseño son:

Modo Sentido por Descripción
app adjuntar Salida Anexa datos al final del archivo.
binary binario De entrada y salida La entrada y salida se realiza en binario.
in entrada Entrada Abre el archivo para su lectura.
out salida Salida Abre el archivo para escribir.
trunc truncar De entrada y salida Elimina el contenido del archivo al abrirlo.
ate al final Entrada Va al final del archivo al abrir.

Nota: la configuración del modo binary permite que los datos se lean / escriban exactamente como están; no configurarlo permite la traducción del carácter '\n' nueva línea '\n' a / desde una secuencia de final de línea específica de la plataforma.

Por ejemplo, en Windows, la secuencia de final de línea es CRLF ( "\r\n" ).
Escribe: "\n" => "\r\n"
Lee: "\r\n" => "\n"