basic_istream::seekg

移动到流中读取的位置。

basic_istream<Elem, Tr>& seekg(
    pos_type pos
);
basic_istream<Elem, Tr>& seekg(
    off_type off,
    ios_base::seekdir way
);

参数

  • pos
    的绝对位置移动读取的指针。

  • off
    移动读取的指针的偏移量相对于 way。

  • way
    之一 ios_base::seekdir 枚举。

返回值

流(*this)。

备注

第一个成员函数执行绝对定位,函数执行相对定位的第二个成员。

备注

因为标准C++不支持在文本文件中,的相对定位不要使用与文本文件的第二个成员函数。

如果 fail 为假,第一个成员函数调用 newpos = rdbuf -> pubseekpos(pos),对于某些 pos_type 临时对象 newpos。 如果 fail 是错误的,第二个函数调用 newpos = rdbuf - > pubseekoff(off,way)。 在任何情况下,;如果(off_type)newpos == (off_type) (- 1) (确定的操作失败),函数调用 istrsetstate(failbit)。 两个函数返回 *this

如果 失败 为true,成员函数不执行任何操作。

示例

// 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;
}

输入:basic_istream_seekg.txt

0123456789

Output

2

要求

标头: <istream>

命名空间: std

请参见

参考

basic_istream Class

iostream编程

(mfc)约定