std::basic_istream::seekg
From cppreference.com
                    
                                        
                    < cpp | io | basic istream
                    
                                                            
                    | basic_istream& seekg( pos_type pos ); | ||
| basic_istream& seekg( off_type off, std::ios_base::seekdir dir); | ||
Sets input position indicator of the current associated streambuf object. In case of failure, calls setstate(std::ios_base::failbit).
First, clears eofbit(since C++11), then constructs a sentry object with noskipws set to true. Afterwards, if fail()==true, calls setstate(failbit) and returns. Otherwise,
1) sets the input position indicator to absolute (relative to the beginning of the file) value pos. Specifically, executes rdbuf()->pubseekpos(pos, std::ios_base::in).
2) sets the input position indicator to position off, relative to position, defined by dir. Specifically, executes rdbuf()->pubseekoff(off, dir, std::ios_base::in).
| Contents | 
[edit] Parameters
| pos | - | absolute position to set the input position indicator to. | ||||||||||||||||
| off | - | relative position to set the input position indicator to. | ||||||||||||||||
| dir | - | defines base position to apply the relative offset to. It can be one of the following constants: 
 | ||||||||||||||||
[edit] Return value
*this
[edit] Example
#include <iostream> #include <string> #include <sstream> 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'; }
Output:
word1 = Hello, word2 = Hello,
[edit] See also
| returns the input position indicator (public member function) | |
| returns the output position indicator (public member function of std::basic_ostream) | |
| sets the output position indicator (public member function of std::basic_ostream) | |

