Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Moves the read position in a stream.
basic_istream<Elem, Tr>& seekg(
pos_type pos
);
basic_istream<Elem, Tr>& seekg(
off_type off,
ios_base::seekdir way
);
Parameters
pos
The absolute position in which to move the read pointer.off
An offset to move the read pointer relative to way.way
One of the ios_base::seekdir enumerations.
Return Value
The stream (*this).
Remarks
The first member function performs an absolute seek, the second member function performs a relative seek.
Note
Do not use the second member function with text files, because Standard C++ does not support relative seeks in text files.
If fail is false, the first member function calls newpos = rdbuf -> pubseekpos(pos), for some pos_type temporary object newpos. If fail is false, the second function calls newpos = rdbuf -> pubseekoff(off, way). In either case, if (off_type)newpos == (off_type)(-1) (the positioning operation fails), the function calls istr.setstate(failbit). Both functions return *this.
Example
// basic_istream_seekg.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
ifstream file;
char c, c1;
file.open( "basic_istream_seekg.txt" );
file.seekg(2); // seek to position 2
file >> c;
cout << c << endl;
}
Input: basic_istream_seekg.txt
0123456789
Output
2
Requirements
Header: <istream>
Namespace: std
See Also
Reference
Other Resources
Change History
Date |
History |
Reason |
---|---|---|
December 2008 |
Relative seek not supported for text files. |
Customer feedback. |