Поделиться через


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 — C++ не поддерживает относительные поиск в текстовых файлах.

Если значение Не пройдено, первые вызывает функцию-член newpos = rdbuf ->pubseekpos(pos), для некоторого временного объекта newpospos_type . Если значение Не пройдено, то второй вызовы функции newpos = rdbuf ->pubseekoff(off, way). В любом случае, если (off_type)newpos == (off_type)(-1) (операция перетаскивания происходит), вызовы функции istr.setstate(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

Программирование iostream

Соглашения iostreams