comportamiento extraño de corriente
Me he encontrado con un comportamiento extraño de la corriente, 'menos extraño para mí. Aquí está mi programa, estoy usando Visual Studio 2010 Express Edition.
int main () {
std::ofstream file("file.txt");
file << "something1";
file.close();
file.open("file.txt", std::ios::ate | std::ios::in );
file << "something2";
file.close();
return 0;
}
Esto produce la salida correcta.
algo1algo2
Ahora si reemplazo la novena línea con el siguiente código,
file.open("file.txt", std::ios::ate);
Obtengo esta salida.
algo2
Pero si vuelvo a reemplazar la novena línea, esta vez con este código,
file.open("file.txt", std::ios::ate | std::ios::in );
Obtengo esta salida.
algo1algo2
Ahora, supongo que la pregunta es, ¿podría alguien ayudarme a tener algún sentido de esto? ¿Por qué funciona la última solución, pero no la media?
EDITAR: Se corrigió la función principal. Aprendes algo cada día.