Я столкнулся с странным поведением thestream, «наименее странным для меня. Вот моя программа, я использую 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: Исправлена основная функция. Вы узнаете что-то каждый день.