Seekg

Материал из Циклопедии
Перейти к навигации Перейти к поиску

В языке программирования C++ , seekg это функция в библиотеке iostream (часть стандартной библиотеки) которая позволяет искать произвольную позицию в файле. Эта функция определена для класса istream — для класса ostream есть похожая функция seekp (это позволяет избежать конфликтов в случае классов, которые получают как istream, так и ostream, такие как iostream).

<source lang="cpp"> istream& seekg ( streampos position ); istream& seekg ( streamoff offset, ios_base::seekdir dir ); </source>

  • position это новая позиция в буфере потока. Этот параметр объект типа streampos.
  • offset это целое значение типа streamoff представляющее собой смещение в буфере потока. Это относительно параметра dir.

dir это направление поиска. Это объект типа ios_base::seekdir который может принимать любое из следующих константных значений[1]:

  1. ios_base::beg (смещение от начала).
  2. ios_base::cur (смещение от текущей позиции).
  3. ios_base::end (смещение от конца).

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

Источники[править]

  1. Павловская, Т. А. <>.. — Питер, 2005. — ISBN 5947235684, 9785947235685. Архивная копия от 28 декабря 2018 на Wayback Machine