comportamento estranho do fluxo de
Eu me deparei com um comportamento estranho da corrente, pelo menos estranho para mim. Aqui está o meu programa, eu estou usando o 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;
}
Isso produz a saída correta.
algo1something2
Agora, se eu substituir a 9ª linha pelo seguinte código,
file.open("file.txt", std::ios::ate);
Eu recebo esta saída.
algo2
Mas se eu substituir a 9ª linha novamente, desta vez com este código,
file.open("file.txt", std::ios::ate | std::ios::in );
Eu recebo esta saída.
algo1something2
Agora, eu acho que a questão é, alguém poderia me ajudar fazer algum sentido disso? Por que a última solução funciona, mas a do meio não funciona?
EDITAR: Corrigida a função principal. Você aprende algo todo dia.