std::basic_istream<CharT,Traits>::seekg
Min standard notice:
Sets input position indicator of the current associated streambuf object.
# Declarations
basic_istream& seekg( pos_type pos );
basic_istream& seekg( off_type off, std::ios_base::seekdir dir );
# Parameters
pos: absolute position to set the input position indicator tooff: relative position (positive or negative) to set the input position indicator todir: defines base position to apply the relative offset to. It can be one of the following constants: Constant Explanation beg the beginning of a stream end the ending of a stream cur the current position of stream position indicator
# Return value
*this
# Notes
seekg(n) is not necessarily equivalent to seekg(n, ios::beg). std::basic_ifstream, for example, requires the absolute position n to come from tellg().
# Example
#include <iostream>
#include <sstream>
#include <string>
int main()
{
std::string str = "Hello, world";
std::istringstream in(str);
std::string word1, word2;
in >> word1;
in.seekg(0); // rewind
in >> word2;
std::cout << "word1 = " << word1 << '\n'
<< "word2 = " << word2 << '\n';
}
# Defect reports
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 129 | C++98 | there was no way to indicate a failure | sets failbit on failure |
| LWG 136 | C++98 | seekg could set the output stream | only sets the input stream |
| LWG 537 | C++98 | the type of off was off_type& | corrected to off_type |