保存istream位置供以后使用

时间:2016-12-20 15:11:55

标签: c++ stream istream-iterator

我编写了下面的代码,应该保存istream迭代器。我想要的是保持迭代器以便以后复制到给定位置的字符串。这工作正常,直到我将流重置为开头。输出是" teet"我希望" 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 个答案:

没有答案