Вроде у данного потокового объекта есть два флага: для чтения и записи. Почему нужно двигать флаг для чтения после записи?
Вы что-то не так поняли?
Во-первых флаги чтения/записи относятся к тому - какие операции будут над файлом производиться и декларируются эти флаги в момент открытия файлов.
Если флага чтение (
ios::in) - то разрешены операции чтения, записать с таким флагом открытый файл ничего не сможете.
Eсли флага записи(
ios::out) - то файл предназначен только для записи.
Если как у вас (
ios::in|ios::out) - то разрешены на файле операции и чтения и записи.
Во-вторых - вам посоветовали
после операции записи перевести текущую позицию открытого файла на начало, что вы и сделали в методе
void move_flag(), которую вы и вызвали после операции записи перед началом чтения.
Imho: Правильней было бы назвать эту методу -
void move_position().
arseniiv - ok