Para realizar el archivo IO en C++ utilizamos las clases ofstream, ifstream y fstream.Modalidad abierta de archivos C++ ambigüedad
- ofstream: clase Stream para escribir en archivos
- ifstream: clase de secuencia para leer de archivos
- fstream: clase Stream para leer y escribir desde/a archivos
El El proceso de asociar un archivo con un objeto de flujo se denomina "abrir el archivo". Al abrir un archivo, podemos especificar el modo en que se abrirá el archivo. Mi consulta está relacionada con los modos ios::out
y ios:in
.
Cuando creo un objeto ofstream
y abrir el archivo con ios::in
modo, yo soy capaz de de escritura en el archivo, pero sólo si su ya creado (con ios::out
archivo modo también se crea si no existe ya).
Pero cuando creo el objeto ifstream
y abro el archivo con el modo ios::out
, puedo leer el archivo.
Mi pregunta es por qué estos modos (ios::in
/ios::out
) son suministrados por la lengua cuando el tipo de la corriente (ifstream
/ofstream
) determine por sí mismo en cuanto a qué tipo de operación (entrada/salida) se está realizando?
También por qué este uso ambiguo (ofstream
con ios::in
y ifstream
con ios::out
) trabaja en un caso y no (aunque sólo si el archivo no está ya presente) en otro?