std::basic_streambuf<CharT,Traits>:: pbump
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
protected
:
void pbump ( int count ) ; |
||
Перемещает
указатель записи
(
pptr()
) на
count
символов, где
count
может быть положительным или отрицательным. Не выполняется проверок на выход указателя за пределы области записи
[
pbase
(
)
,
epptr
(
)
)
.
Если указатель продвинут и затем вызывается overflow() для сброса области вывода в связанную символьную последовательность, эффектом будет вывод дополнительных count символов с неопределёнными значениями.
Содержание |
Параметры
| count | - | число для добавления к указателю записи |
Возвращаемое значение
(нет)
Примечания
Поскольку эта функция принимает int , она не может обрабатывать буферы размером более std:: numeric_limits < int > :: max ( ) символов ( LWG issue 255 ).
Пример
#include <fstream> #include <iostream> #include <string> struct showput_streambuf : std::filebuf { using std::filebuf::pbump; // expose protected std::string showput() const { return std::string(pbase(), pptr()); } }; int main() { showput_streambuf mybuf; mybuf.open("test.txt", std::ios_base::out); std::ostream str(&mybuf); str << "This is a test" << std::flush << "1234"; std::cout << "The put area contains: " << mybuf.showput() << '\n'; mybuf.pbump(10); std::cout << "after pbump(10), it contains " << mybuf.showput() << '\n'; }
Вывод:
The put area contains: 1234 after pbump(10), it contains 1234 is a test
Смотрите также
|
перемещает указатель следующего элемента во входной последовательности
(защищённая функция-член) |