Сохранить позицию istream для последующего использования
Я написал код ниже, который должен сохранять итераторы istream. Я хочу сохранить итератор для последующего копирования в строку в заданной позиции. Это работает нормально, пока я не сброслю поток в начало. Выход "teet" bis, я хотел "tees". Есть ли способ сделать итератор независимым от позиции потока?
#include <iostream>
#include <sstream>
#include <iterator>
int main(){
std::stringstream test;
test << "test 123456\n";
std::istream_iterator<char> it(test);
std::cout << *it;
it++;
std::cout << *it;
test.clear();
test.seekg(0, std::ios::beg);
std::cout << *it;
it++;
std::cout << *it;
}