std::basic_streambuf<CharT,Traits>::pubsetbuf, std::basic_streambuf<CharT,Traits>::setbuf - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | |
1) 最も派生したクラスの setbuf(s, n) を呼びます。
2) この関数の基底クラスのバージョンは効果を持ちません。 派生クラスは、制御された文字シーケンス (バッファ) をユーザ提供の配列で置き換えたり削除したりするために、または処理系固有の何らかの他の目的のために、この関数をオーバーライドするかもしれません。
引数
| s | - | ユーザ提供のバッファの最初の CharT へのポインタ |
| n | - | ユーザ提供のバッファの CharT の要素数 |
戻り値
1) setbuf(s, n) の戻り値。
2) this。
例
読み込み用に 10k のバッファを提供します。 Linux では実際に読み込んだバイト数を観察するために strace ユーティリティを使用できます。
#include <fstream> #include <iostream> #include <string> int main() { int cnt = 0; std::ifstream file; char buf[10241]; file.rdbuf()->pubsetbuf(buf, sizeof buf); file.open("/usr/share/dict/words"); for (std::string line; getline(file, line);) { cnt++; } std::cout << cnt << '\n'; }
関連項目
| 制御された文字シーケンスの配列との置き換えを試みます ( std::basic_stringbuf<CharT,Traits,Allocator>の仮想プロテクテッドメンバ関数) [edit]
| |
| ユーザ提供のバッファを提供し、またはこの filebuf をバッファなしにします ( std::basic_filebuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]
| |
| 制御された文字シーケンスの配列での置き換えを試みます ( std::strstreambufの仮想プロテクテッドメンバ関数) [edit]
| |
| ファイルストリームのためのバッファを設定します (関数) [edit] |