std::strstreambuf:: pcount
From cppreference.net
<
cpp
|
io
|
strstreambuf
|
int
pcount
(
)
const
;
|
(C++98で非推奨)
(C++26で削除) |
|
出力シーケンスに書き込まれた文字数を返します。
put領域の次のポインタ( std::streambuf::pptr() )がヌルポインタの場合、ゼロを返します。
それ以外の場合、put領域の次のポインタからput領域の先頭ポインタを引いた値を返します。つまり 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); // 動的 strstream で .str() を呼び出した後 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
の公開メンバー関数)
|