std::strstreambuf:: pcount
|
int
pcount
(
)
const
;
|
(устарело в C++98)
(удалено в C++26) |
|
Возвращает количество символов, записанных в выходную последовательность.
Если указатель следующего символа для области вывода ( std::streambuf::pptr() ) является нулевым указателем, возвращает ноль.
В противном случае возвращает указатель на следующий элемент в области вывода минус указатель на начало области вывода, то есть pptr ( ) - pbase ( ) .
Содержание |
Параметры
(нет)
Возвращаемое значение
Количество символов, записанных в область вывода.
Пример
#include <iostream> #include <strstream> int main() { std::strstream dyn; // динамически выделенный выходной буфер dyn << "Test: " << 1.23 << std::ends; std::strstreambuf* buf = dyn.rdbuf(); std::cout << "Размер вывода равен " << buf->pcount() // или просто buf.pcount() << " и он содержит \"" << dyn.str() << "\"\n"; dyn.freeze(false); // после вызова .str() на динамическом strstream char arr[10]; std::ostrstream user(arr, 10); // пользовательский выходной буфер buf = user.rdbuf(); user << 1.23; // примечание: без std::ends std::cout.write(arr, buf->pcount()); // или просто user.pcount() std::cout << '\n'; std::istrstream lit("1 2 3"); // буфер только для чтения фиксированного размера buf = lit.rdbuf(); // istrstream не имеет метода pcount(), поэтому lit.pcount() не сработает std::cout << "Входной pcount() = " << buf->pcount() << '\n'; }
Вывод:
Размер вывода равен 11 и он содержит "Test: 1.23" 1.23 Входной pcount() = 0
Смотрите также
|
получает количество записанных символов
(публичная функция-член
std::strstream
)
|
|
|
получает количество записанных символов
(публичная функция-член
std::ostrstream
)
|