странное странное поведение
Я столкнулся со странным поведением ofstream, наименее странным для меня. Вот моя программа, я использую 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;
}
Это производит правильный вывод.
something1something2
Теперь, если я заменю 9-ю строку следующим кодом,
file.open("file.txt", std::ios::ate);
я получаю этот вывод.
something2
Но если я снова заменю 9-ю строку, на этот раз этим кодом,
file.open("file.txt", std::ios::ate | std::ios::in );
я получаю этот вывод.
something1something2
Теперь, я думаю, вопрос в том, может ли кто-нибудь помочь мне разобраться в этом? Почему последнее решение работает, а среднее - нет.
EDIT: Исправлена основная функция. Вы чему-то учитесь каждый день.