Почему TellG () перемещается после операции записи, я полагаю, это должен быть Tellp ()?
std::fstream fs("c:\\log.txt", std::ios::in | std::ios::out | std::ios::trunc); fs << "write"; std::cout << fs.tellg() << std::endl; fs.close();
Выход:
5
Поток фактически поддерживает только один указатель, поэтому указатели чтения и записи фактически одинаковы.если вы хотите выполнять чтение и запись в один и тот же файл, вы должны поддерживать свой собственный указатель и выполнять поиск перед каждой операцией чтения / записи.