Spec-Zone.ru › C++

std::basic_streambuf<CharT,Traits>::pubseekoff, std::basic_streambuf<CharT,Traits>::seekoff

pos_type pubseekoff( off_type off, std::ios_base::seekdir dir,
                     std::ios_base::openmode which = ios_base::in | ios_base::out );
(1)
protected:
virtual pos_type seekoff( off_type off, std::ios_base::seekdir dir,
                          std::ios_base::openmode which = ios_base::in | ios_base::out );
(2)

Устанавливает индикатор позиции входной и/или выходной последовательности относительно некоторой другой позиции.

1) Вызывает seekoff(off, dir, which) наиболее производного класса.
2) Версия этой функции в базовом классе не выполняет никаких действий. Производные классы могут переопределить эту функцию, чтобы обеспечить относительное позиционирование индикатора позиции.

Параметры

off - относительная позиция, в которую следует установить индикатор позиции.
dir - определяет базовую позицию, относительно которой применяется смещение. Может принимать одно из следующих значений:
Константа Описание
beg начало потока
end конец потока
cur текущая позиция индикатора позиции потока
which - определяет, на какую входную и/или выходную последовательность следует воздействовать. Может принимать одну или комбинацию следующих констант:
Константа Описание
in воздействовать на входную последовательность
out воздействовать на выходную последовательность

Примечание

Не все комбинации параметров могут быть допустимыми; подробности см. в производных версиях seekoff.

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

1) Возвращаемое значение seekoff(off, dir, which)
2) Полученная абсолютная позиция, заданная индикатором позиции. Версия в базовом классе возвращает pos_type(off_type(-1)).

Пример

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющих поведение, были ретроспективно применены к ранее опубликованным стандартам C++.

DR Применён к Опубликованное поведение Корректное поведение
LWG 55 C++98 версия seekoff в базовом классе возвращала
недопустимую позицию потока с неопределённым значением
возвращает pos_type(off_type(-1))

См. также

pubseekpos
вызывает seekpos()
(открытая функция-член)
seekoff
[virtual]
перемещает позицию в файле с использованием относительной адресации
(виртуальная защищённая функция-член класса std::basic_filebuf<CharT,Traits>)
seekoff
[virtual]
перемещает следующий указатель во входной последовательности, выходной последовательности или обеих последовательностях с использованием относительной адресации
(виртуальная защищённая функция-член класса std::basic_stringbuf<CharT,Traits,Allocator>)
seekoff
[virtual]
перемещает следующий указатель во входной последовательности, выходной последовательности или обеих последовательностях с использованием относительной адресации
(виртуальная защищённая функция-член класса std::strstreambuf)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_streambuf/pubseekoff

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API