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

#include <iostream.h>
istream &seekg(streamof f offset,
		ios::seek_dir origin)
istream &seekg(streampos position);

Описание

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

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

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

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

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

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

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


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

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





Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: