Namespaces
Variants

std:: basic_filebuf

From cppreference.net
< cpp ‎ | io
定義済みヘッダー <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 の関連付けられた文字シーケンスがファイルであるものです。入力シーケンスと出力シーケンスの両方が同じファイルに関連付けられており、両方の操作に対して統合されたファイル位置が維持されます。 std::basic_filebuf を使用したシーケンスの読み取りと書き込みに関する制限は、 std::FILE と同じです。

underflow() 関数と overflow() / sync() 関数は、ファイルとバッファのget領域およびput領域間の実際のI/Oを実行します。 CharT char でない場合、ほとんどの実装ではファイルにマルチバイト文字を格納し、 std::codecvt ファセットを使用してワイド文字/マルチバイト文字変換を実行します。

一般的な文字型に対するいくつかのtypedefが提供されています:

定義済みヘッダー <fstream>
定義
std::filebuf std :: basic_filebuf < char >
std::wfilebuf std :: basic_filebuf < wchar_t >

目次

メンバー型

定義
char_type CharT
traits_type Traits ; Traits::char_type CharT でない場合、プログラムは不適格となる。
int_type Traits::int_type
pos_type Traits::pos_type std:: fpos < Traits :: state_type > であることが要求される)
off_type Traits::off_type
native_handle_type (C++26) 実装定義 型で、 TriviallyCopyable かつ semiregular である

メンバー関数

公開メンバ関数

basic_filebuf オブジェクトを構築する
(公開メンバ関数)
(C++11)
basic_filebuf オブジェクトを代入する
(公開メンバ関数)
(C++11)
2つの basic_filebuf オブジェクトを交換する
(公開メンバ関数)
基盤となる実装定義のハンドルを返す
(公開メンバ関数)
[virtual]
basic_filebuf オブジェクトを破棄し、ファイルが開いている場合は閉じる
(仮想公開メンバ関数)
関連付けられたファイルが開いているかどうかをチェックする
(公開メンバ関数)
ファイルを開き、関連付けられた文字シーケンスとして設定する
(公開メンバ関数)
出力エリアバッファをフラッシュし、関連付けられたファイルを閉じる
(公開メンバ関数)

保護メンバ関数

[virtual]
ファイルからの入力で利用可能な文字数をオプションで提供する
(仮想保護メンバ関数)
[virtual]
関連付けられたファイルから読み込む
(仮想保護メンバ関数)
[virtual]
関連付けられたファイルから読み込み、入力エリアの次のポインタを進める
(仮想保護メンバ関数)
[virtual]
文字をアンゲットするために入力シーケンスを巻き戻し、関連付けられたファイルには影響を与えない
(仮想保護メンバ関数)
[virtual]
出力エリアから関連付けられたファイルに文字を書き込む
(仮想保護メンバ関数)
[virtual]
ユーザー提供のバッファを提供するか、このfilebufを非バッファリングにする
(仮想保護メンバ関数)
[virtual]
相対アドレッシングを使用してファイル位置を再配置する
(仮想保護メンバ関数)
[virtual]
絶対アドレッシングを使用してファイル位置を再配置する
(仮想保護メンバ関数)
[virtual]
出力エリアから関連付けられたファイルに文字を書き込む
(仮想保護メンバ関数)
[virtual]
関連付けられたロケールを変更する
(仮想保護メンバ関数)

非メンバー関数

std::swap アルゴリズムを特殊化
(関数テンプレート)

std:: basic_streambuf から継承

メンバー型

メンバー型 定義
char_type CharT
traits_type Traits ; プログラムは、 Traits::char_type CharT でない場合、不適格となる。
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

メンバー関数

[virtual]
basic_streambuf オブジェクトを破棄する
( std::basic_streambuf<CharT,Traits> の仮想公開メンバ関数)
ロケール
関連付けられたロケールを変更し、 imbue ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
関連付けられたロケールのコピーを取得する
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
位置決め
setbuf ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
seekoff ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
seekpos ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
sync ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
取得領域
取得領域で直ちに利用可能な文字数を取得する
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
入力シーケンスを進め、再度進めずに1文字を読み込む
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
(C++17で削除)
入力シーケンスから1文字を読み込み、シーケンスを進める
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
入力シーケンスからシーケンスを進めずに1文字を読み込む
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
xsgetn ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
格納領域
格納領域に1文字を書き込み、次のポインタを進める
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
xsputn ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
プットバック
入力シーケンスに1文字を戻す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
入力シーケンスの次のポインタを1つ戻す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)

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

basic_streambuf オブジェクトを構築する
(protected member function)
(C++11)
basic_streambuf オブジェクトを置換
(protected member function)
(C++11)
2つの basic_streambuf オブジェクトを交換する
(protected member function)
ロケール
[virtual]
関連付けられたロケールの変更に反応する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
配置
[virtual]
ユーザー定義の配列でバッファを置き換える(許可されている場合)
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
入力シーケンス、出力シーケンス、またはその両方の次のポインタを相対アドレッシングを使用して再配置する
( std::basic_streambuf<CharT,Traits> の仮想protectedメンバ関数)
[virtual]
入力シーケンス、出力シーケンス、またはその両方の次のポインタを絶対アドレス指定を使用して再配置する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
関連付けられた文字シーケンスとバッファを同期する
( std::basic_streambuf<CharT,Traits> の仮想protectedメンバ関数)
エリア取得
[virtual]
関連付けられた入力シーケンスで利用可能な文字数を取得する(既知の場合)
std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
関連付けられた入力シーケンスから文字を読み取り、ゲット領域に格納する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
入力関連シーケンスから文字を読み取り、ゲット領域へ格納し、次ポインタを進める
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
[virtual]
入力シーケンスから複数の文字を読み込む
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
入力領域の先頭、現在の文字、および終端へのポインタを返す
(protected member function)
入力シーケンスの次ポインタを進める
(protected member function)
入力シーケンスの先頭、次、および終端ポインタの位置を再設定する
(protected member function)
Put領域
[virtual]
出力シーケンスに複数の文字を書き込む
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
出力領域から関連付けられた出力シーケンスへ文字を書き込む
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
出力領域の先頭、現在の文字、および終端へのポインタを返す
(protected member function)
出力シーケンスの次ポインタを進める
(protected member function)
出力シーケンスの先頭、次、および終了ポインタの位置を再設定する
(protected member function)
Putback
[virtual]
入力シーケンスに文字を戻し、入力シーケンスを変更する可能性がある
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)

注記

機能テスト マクロ 標準 機能
__cpp_lib_fstream_native_handle 202306L (C++26) ネイティブハンドルサポート

関連項目

C I/Oストリームを制御するために必要なすべての情報を保持できるオブジェクト型
(typedef)