◐ Shell
clean mode source ↗

std::basic_filebuf - cppreference.com

提供: cppreference.com

<tbody> </tbody>

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]

[仮想]

絶対位置を使用してファイル位置を再設定します
(仮想プロテクテッドメンバ関数) [edit]

[仮想]

put 領域から紐付けられているファイルに文字を書き込みます
(仮想プロテクテッドメンバ関数) [edit]

[仮想]

紐付けられているロケールを変更します
(仮想プロテクテッドメンバ関数) [edit]

非メンバ関数

std::basic_streambuf から継承

メンバ型

メンバ型 定義
char_type CharT[edit]
traits_type TraitsTraits::char_typeCharT でない場合、プログラムは ill-formed です [edit]
int_type Traits::int_type[edit]
pos_type Traits::pos_type[edit]
off_type Traits::off_type[edit]

メンバ関数

basic_streambuf オブジェクトを破棄します
(std::basic_streambuf<CharT,Traits>の仮想パブリックメンバ関数) [edit]
ロケール
imbue() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
紐付けられているロケールのコピーを取得します
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
位置設定
setbuf() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
seekoff() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
seekpos() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
sync() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
get 領域
get 領域内の直ちに利用可能な文字数を取得します
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
入力シーケンスを進めて、その後、進めずに文字をひとつ読み込みます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
入力シーケンスから文字をひとつ読み込み、シーケンスを進めます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]

stossc

(C++98で非推奨)(C++17で削除)

std::basic_streambuf::sbumpc を呼んだかのように入力シーケンスを進めて、その結果を破棄します
(パブリックメンバ関数) [edit]
シーケンスを進めずに入力シーケンスから文字をひとつ読み込みます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
xsgetn() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
put 領域
文字をひとつ put 領域に書き込み、次ポインタを進めます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
xsputn() を呼びます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
putback
入力シーケンスに文字をひとつ戻します
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]
入力シーケンスの次ポインタを1つ前に移動させます
(std::basic_streambuf<CharT,Traits>のパブリックメンバ関数) [edit]

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

basic_streambuf オブジェクトを構築します
(プロテクテッドメンバ関数) [edit]

(C++11)

basic_streambuf オブジェクトを置き換えます
(プロテクテッドメンバ関数) [edit]

(C++11)

2つの basic_streambuf オブジェクトを入れ替えます
(プロテクテッドメンバ関数) [edit]
ロケール

[仮想]

紐付けられているロケールを変更します
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]
位置設定

[仮想]

可能であれば、バッファをユーザ定義の配列に置き換えます
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

入力シーケンス、出力シーケンス、またはその両方の次ポインタの位置を相対位置を使用して再設定します
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

入力シーケンス、出力シーケンス、またはその両方の次ポインタの位置を絶対位置を使用して再設定します
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

バッファを紐付けられている文字シーケンスと同期します
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]
get 領域

[仮想]

紐付けられている入力シーケンス内の入力のために利用可能な文字数 (もし判れば) を取得します
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

紐付けられている入力シーケンスから get 領域に文字を読み込みます
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

紐付けられている入力シーケンスから get 領域に文字を読み込み、次ポインタを進めます
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

入力シーケンスから複数の文字を読み込みます
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]
get 領域の先頭、現在の文字、終端へのポインタを返します
(プロテクテッドメンバ関数) [edit]
入力シーケンスの次ポインタを進めます
(プロテクテッドメンバ関数) [edit]
入力シーケンスの先頭、次、終端ポインタの位置を再設定します
(プロテクテッドメンバ関数) [edit]
put 領域

[仮想]

出力シーケンスに複数の文字を出力します
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

[仮想]

put 領域から紐付けられている出力シーケンスに文字を書き込みます
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]
put 領域の先頭、現在の文字、終端へのポインタを返します
(プロテクテッドメンバ関数) [edit]
出力シーケンスの次ポインタを進めます
(プロテクテッドメンバ関数) [edit]
出力シーケンスの先頭、次、終端ポインタの位置を再設定します
(プロテクテッドメンバ関数) [edit]
putback

[仮想]

入力シーケンスに文字を戻します。 入力シーケンスを変更する可能性があります
(std::basic_streambuf<CharT,Traits>の仮想プロテクテッドメンバ関数) [edit]

関連項目

C の入出力ストリームを制御するために必要なすべての情報を保持できるオブジェクト型
(typedef) [edit]