Справочник по C/C++
seekg()

#include 
istream &seekg(off_type offset, ios::seek_dir origin);
istream &seekg(pos_type position);

Описание

Перемещает указатель ввода

Функция является членом класса istream

В системе ввода-вывода C++ с помощью функций seekg() и seekp() выполняется произвольный доступ, т.е. система ввода-вывода C++ управляет двумя указателями, связанными с файлом. Один из них — это указатель ввода(get pointer), который указывает, в каком месте файла будет выполняться следующая операция ввода. А другой — указатель вывода(put pointer), который указывает, в каком месте файла будет выполняться следующая операция вывода. При каждом выполнении операции ввода или вывода соответствующий указатель автоматически перемещается, последовательно изменяя свою позицию. Однако, используя функции seekg() и seekp(), можно получить доступ к файлу непоследовательным образом.

Версия функции seekg() с двумя параметрами перемещает указатель ввода на offset байт от позиции, заданной параметром origin. Параметр offset имеет тип off_type. Объект типа off_type способен содержать самое большое допустимое значение, которое может иметь параметр offset.

Параметр origin имеет тип seek_dir и представляет собой перечисление, которое имеет следующие значения.

ios::beg    Смещение от начала
ios::cur Смещение от текущей позиции
ios::end Смещение от конца

Версия функции seekg() с одним параметром перемещают указатели файлов в позиции, заданные параметром position. Это значение должно быть предварительно получено путем обращения либо к функции tellg(), либо к функции tellp() соответственно. Тип pos_type позволяет содержать самое большое допустимое значение, которое может иметь параметр position. Эта функция возвращают ссылку на соответствующий поток.


Смотрите также

seekp — Перемещает указатель вывода
tellp — Определение текущего указателя вывода
tellg — Определение текущего указателя ввода