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


basic_filebuf::seekoff

Пытается изменить текущие позиции для управляемых потоков.

virtual pos_type seekoff( 
   off_type _Off, 
   ios_base::seekdir _Way, 
   ios_base::openmode _Which = ios_base::in | ios_base::out 
);

Параметры

  • _Off
    Позиция поиска для относительно _Way.

  • _Way
    Начальная точка для операций смещения. В разделе seekdir для возможных значений.

  • _Which
    Определяет режим для позиции указателя. По умолчанию позволяет изменения чтения и записи позиции.

Возвращаемое значение

Возвращает новую позицию или недопустимая позиция потока.

Заметки

Защищенная виртуальная функция-член стремится текущие изменения позиции для управляемых потоков. Для объекта класса basic_filebuf<Elem, Tr>, позиция потока может быть представлена объектом типа fpos_t, который хранит смещение и все данные о состоянии, необходимых для анализа расширенный поток. Смещенное ноль указывает первый элемент потока. (Объект типа pos_type содержит по крайней мере объект fpos_t).

Для файла открытого как для чтения так и для записи, оба входных потка входных и выходных данных располагаются в тандем. Для переключения между вставки и извлечь необходимо вызвать метод pubseekoff или pubseekpos. Вызовы pubseekoff (и, следовательно, в seekoff) имеют различные ограничения для текстовые потоков, двоичные потоки и расширенные потоков.

Если указатель файла fp указатель, функция завершается с ошибкой. В противном случае он стремится изменить положение потока путем вызова fseek(fp, _Off, _Way). Если эта функция успешно и результирующее позиция fposn можно определить путем вызова fgetpos(fp, &fposn), функция завершилась успешно. Если функция завершается успешно, она возвращает значение типа pos_type , fposn. В противном случае он возвращает недопустимая позиция потока.

Требования

Заголовок:<fstream>

Пространство имен: std

См. также

Ссылки

Класс basic_filebuf

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

Соглашения iostreams