Это немного зависит от вашего потока, чтобы определить, что происходит.Встроенные потоки отличаются тем, что некоторые могут иметь отдельные позиции для чтения и записи (stringstream), в то время как другие просто имеют одну (fstream).
Если пользователь выполняет репозицию и указывает как вход, так и выход, возможно, вам следуетпереместить оба.Если это поиск с нулевым смещением для получения текущей позиции, не исключено, что он потерпит неудачу, если позиции различаются.