std::basic_streambuf<CharT,Traits>::pubseekpos, std::basic_streambuf<CharT,Traits>::seekpos
pos_type pubseekpos( pos_type pos,
std::ios_base::openmode which = std::ios_base::in | std::ios_base::out );
| (1) | |
protected:
virtual pos_type seekpos( pos_type pos,
std::ios_base::openmode which = std::ios_base::in | std::ios_base::out );
| (2) |
Устанавливает указатель позиции входной и/или выходной последовательности в абсолютную позицию.
1) Вызывает
seekpos(pos, which) наиболее производного класса.
2) Версия этой функции базового класса не выполняет никаких действий. Производные классы могут переопределить эту функцию, чтобы разрешить абсолютное позиционирование указателя позиции.
Параметры
| pos | - | абсолютная позиция, в которую нужно установить указатель позиции | ||||||
| which | - | определяет, на какую из входных и/или выходных последовательностей повлиять. Это может быть одна или несколько из следующих констант:
|
Возвращаемое значение
1) Возвращаемое значение
seekpos(pos, which).
2) Полученная абсолютная позиция, определяемая указателем позиции. Версия базового класса возвращает
pos_type(off_type(-1)).Пример
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применяется к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 55 | C++98 | версия базового класса seekpos возвращаланеопределённую недопустимую позицию в потоке | возвращает pos_type(off_type(-1)) |
См. также
вызывает seekoff() (открытая функция-член) |
|
|
[виртуальная] | перемещает позицию в файле, используя абсолютную адресацию (виртуальная защищённая функция-член класса std::basic_filebuf<CharT,Traits>) |
|
[виртуальная] | перемещает следующий указатель во входной последовательности, выходной последовательности или обеих, используя абсолютную адресацию (виртуальная защищённая функция-член класса std::basic_stringbuf<CharT,Traits,Allocator>) |
|
[виртуальная] | перемещает следующий указатель во входной последовательности, выходной последовательности или обеих, используя абсолютную адресацию (виртуальная защищённая функция-член класса std::strstreambuf) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_streambuf/pubseekpos