Сохранить позицию 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;
}

0 ответов

Другие вопросы по тегам