std::basic_filebuf
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <fstream> で定義
|
||
template< class CharT, class Traits = std::char_traits<CharT> > class basic_filebuf : public std::basic_streambuf<CharT, Traits> |
||
std::basic_filebuf は紐付けられている文字シーケンスがファイルである std::basic_streambuf です。 入力シーケンスと出力シーケンスの両方が同じファイルに紐付けられ、両方の操作に対して結合されたファイル位置が維持管理されます。
関数 underflow() および overflow()、sync() はファイルとバッファの get、put 領域との間で実際の入出力を行います。 CharT が char でないときは、ほとんどの処理系はファイルにマルチバイト文字を格納し、ワイド文字とマルチバイト文字に変換を行うために std::codecvt ファセットが使用されます。
一般的な文字型に対する2つの特殊化が定義されます。
ヘッダ
<streambuf> で定義 | |
| 型 | 定義 |
filebuf
|
basic_filebuf<char>
|
wfilebuf
|
basic_filebuf<wchar_t>
|
メンバ型
| メンバ型 | 定義 |
char_type
|
CharT
|
traits_type
|
Traits。 Traits::char_type が CharT でない場合、プログラムは ill-formed です
|
int_type
|
Traits::int_type
|
pos_type
|
std::fpos<Traits::state_type> であることが要求される Traits::pos_type
|
off_type
|
Traits::off_type
|
メンバ関数
パブリックメンバ関数 | |
| basic_filebuf オブジェクトを構築します (パブリックメンバ関数) | |
(C++11) |
basic_filebuf オブジェクトを代入します (パブリックメンバ関数) |
(C++11) |
2つの basic_filebuf オブジェクトを入れ替えます (パブリックメンバ関数) |
[仮想] |
basic_filebuf オブジェクトを破棄し、開いている場合はファイルを閉じます (仮想パブリックメンバ関数) |
| 紐付けられているファイルが開いているかどうか調べます (パブリックメンバ関数) | |
| ファイルを開き、それを文字シーケンスとして紐付けます (パブリックメンバ関数) | |
| put 領域のバッファをフラッシュし、紐付けられているファイルを閉じます (パブリックメンバ関数) | |
プロテクテッドメンバ関数 | |
[仮想] |
ファイルからの入力用に利用可能な文字数を任意で提供します (仮想プロテクテッドメンバ関数) |
[仮想] |
紐付けられているファイルから読み込みます (仮想プロテクテッドメンバ関数) |
[仮想] |
紐付けられているファイルから読み込み、 get 領域の次ポインタを進めます (仮想プロテクテッドメンバ関数) |
[仮想] |
文字を unget するために入力シーケンスを後退させます。 紐付けられているファイルには影響を与えません (仮想プロテクテッドメンバ関数) |
[仮想] |
put 領域から紐付けられているファイルに文字を書き込みます (仮想プロテクテッドメンバ関数) |
[仮想] |
ユーザ提供のバッファを提供し、またはこの filebuf をバッファなしにします (仮想プロテクテッドメンバ関数) |
[仮想] |
相対位置を使用してファイル位置を再設定します (仮想プロテクテッドメンバ関数) |