名前空間
変種

std::basic_filebuf

提供: cppreference.com
< cpp | io
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
 
<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 領域との間で実際の入出力を行います。 CharTchar でないときは、ほとんどの処理系はファイルにマルチバイト文字を格納し、ワイド文字とマルチバイト文字に変換を行うために std::codecvt ファセットが使用されます。

一般的な文字型に対する2つの特殊化が定義されます。

ヘッダ <streambuf> で定義
定義
filebuf basic_filebuf<char>
wfilebuf basic_filebuf<wchar_t>

メンバ型

メンバ型 定義
char_type CharT[edit]
traits_type TraitsTraits::char_typeCharT でない場合、プログラムは ill-formed です [edit]
int_type Traits::int_type[edit]
pos_type std::fpos<Traits::state_type> であることが要求される Traits::pos_type
off_type Traits::off_type[edit]

メンバ関数

パブリックメンバ関数

basic_filebuf オブジェクトを構築します
(パブリックメンバ関数) [edit]
(C++11)
basic_filebuf オブジェクトを代入します
(パブリックメンバ関数) [edit]
(C++11)
2つの basic_filebuf オブジェクトを入れ替えます
(パブリックメンバ関数) [edit]
basic_filebuf オブジェクトを破棄し、開いている場合はファイルを閉じます
(仮想パブリックメンバ関数) [edit]
紐付けられているファイルが開いているかどうか調べます
(パブリックメンバ関数) [edit]
ファイルを開き、それを文字シーケンスとして紐付けます
(パブリックメンバ関数) [edit]
put 領域のバッファをフラッシュし、紐付けられているファイルを閉じます
(パブリックメンバ関数) [edit]

プロテクテッドメンバ関数

[仮想]
ファイルからの入力用に利用可能な文字数を任意で提供します
(仮想プロテクテッドメンバ関数) [edit]
[仮想]
紐付けられているファイルから読み込みます
(仮想プロテクテッドメンバ関数) [edit]
[仮想]
紐付けられているファイルから読み込み、 get 領域の次ポインタを進めます
(仮想プロテクテッドメンバ関数) [edit]
[仮想]
文字を unget するために入力シーケンスを後退させます。 紐付けられているファイルには影響を与えません
(仮想プロテクテッドメンバ関数) [edit]
[仮想]
put 領域から紐付けられているファイルに文字を書き込みます
(仮想プロテクテッドメンバ関数) [edit]
[仮想]
ユーザ提供のバッファを提供し、またはこの filebuf をバッファなしにします
(仮想プロテクテッドメンバ関数) [edit]
[仮想]
相対位置を使用してファイル位置を再設定します
(仮想プロテクテッドメンバ関数) [edit]