gracias por todas las personas que me respondió: i Probado varios códigos en función de lo que han sido contestadas y se acercó con este resumen:
usando ofstream: ios :: out es el valor por defecto, incluso si no se especifica nada, pero si solo usó ios :: in con ofstream, no hay errores de compilación (a menos que utilice read() o >> o algún objeto de flujo) pero no se escribirán archivos.
usando ifstream: en ios :: es el valor predeterminado, incluso si no se especifica nada, pero si se ha utilizado sólo ios :: cabo con ifstream, no hay errores de compilación (a menos que utilice escritura() o < < o alguna ofstream object) pero no puede leer ninguna información del archivo.
usando fstream: no hay valores por defecto, usted tiene que determinar de manera explícita lo que se va a hacer. De lo contrario, no hay error de compilación, pero no obtienes lo que quieres simplemente.
en cuanto a la pregunta original, ambos funcionan exactamente igual.
no si usa un fstream, no puede escribir ni ios :: out ni ios :: in y todavía podrá escribir y leer desde el archivo .. así que ¿no es siempre la misma escritura? de no escribir ios :: fuera? –
@Imengineer: Tendría que verificar para estar seguro, pero si la memoria sirve, se abre un fstream tanto para la entrada como para la salida de manera predeterminada, pero si especifica ios :: out, se abre solo para la salida, y si especifica ios :: in, está abierto solo para entrada. Eso está pasando de la memoria, definitivamente no está garantizado. –