seekg
устанавливает индикатор входной позиции текущего связанного объекта streambuf. * 1002 *
seekp
устанавливает индикатор выходной позиции текущего связанного объекта streambuf. * 1005 *
Используя seekg
,Вы можете установить индикатор в нужной позиции и читать оттуда.
Например, seekg(0)
перемотает назад к началу объекта streambuf, и вы можете читать с начала.
Вот простой пример:
#include <iostream>
#include <string>
#include <sstream>
int main()
{
std::string str = "Read from Beginning";
std::istringstream in(str);
std::string word1, word2, word3;
in >> word1;
in.seekg(0); // rewind
in >> word2;
in.seekg(10); // forward
in >> word3;
std::cout << "word1 = " << word1 << '\n'
<< "word2 = " << word2 << '\n'
<< "word3 = " << word3 << '\n';
}
Вывод:
word1 = Read
word2 = Read
word3 = Beginning
Для получения дополнительной информации см. Документацию seekg и seekp .