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 | - | определяет базовую позицию, относительно которой применяется смещение. Может принимать одно из следующих значений:
|
||||||||
| which | - | определяет, на какую входную и/или выходную последовательность следует воздействовать. Может принимать одну или комбинацию следующих констант:
|
Примечание
Не все комбинации параметров могут быть допустимыми; подробности см. в производных версиях seekoff.
Возвращаемое значение
1) Возвращаемое значение
seekoff(off, dir, which)
2) Полученная абсолютная позиция, заданная индикатором позиции. Версия в базовом классе возвращает
pos_type(off_type(-1)).Пример
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющих поведение, были ретроспективно применены к ранее опубликованным стандартам C++.
| DR | Применён к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 55 | C++98 | версия seekoff в базовом классе возвращаланедопустимую позицию потока с неопределённым значением | возвращает pos_type(off_type(-1)) |
См. также
вызывает seekpos() (открытая функция-член) |
|
|
[virtual] | перемещает позицию в файле с использованием относительной адресации (виртуальная защищённая функция-член класса std::basic_filebuf<CharT,Traits>) |
|
[virtual] | перемещает следующий указатель во входной последовательности, выходной последовательности или обеих последовательностях с использованием относительной адресации (виртуальная защищённая функция-член класса std::basic_stringbuf<CharT,Traits,Allocator>) |
|
[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