std:: basic_filebuf
|
定義済みヘッダー
<fstream>
|
||
|
template
<
class
CharT,
|
||
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
オブジェクトを交換する
(公開メンバ関数) |
|
(C++26)
|
基盤となる実装定義のハンドルを返す
(公開メンバ関数) |
|
[virtual]
|
basic_filebuf
オブジェクトを破棄し、ファイルが開いている場合は閉じる
(仮想公開メンバ関数) |
|
関連付けられたファイルが開いているかどうかをチェックする
(公開メンバ関数) |
|
|
ファイルを開き、関連付けられた文字シーケンスとして設定する
(公開メンバ関数) |
|
|
出力エリアバッファをフラッシュし、関連付けられたファイルを閉じる
(公開メンバ関数) |
|
保護メンバ関数 |
|
|
[virtual]
|
ファイルからの入力で利用可能な文字数をオプションで提供する
(仮想保護メンバ関数) |
|
[virtual]
|
関連付けられたファイルから読み込む
(仮想保護メンバ関数) |
|
[virtual]
|
関連付けられたファイルから読み込み、入力エリアの次のポインタを進める
(仮想保護メンバ関数) |
|
[virtual]
|
文字をアンゲットするために入力シーケンスを巻き戻し、関連付けられたファイルには影響を与えない
(仮想保護メンバ関数) |
|
[virtual]
|
出力エリアから関連付けられたファイルに文字を書き込む
(仮想保護メンバ関数) |
|
[virtual]
|
ユーザー提供のバッファを提供するか、このfilebufを非バッファリングにする
(仮想保護メンバ関数) |
|
[virtual]
|
相対アドレッシングを使用してファイル位置を再配置する
(仮想保護メンバ関数) |
|
[virtual]
|
絶対アドレッシングを使用してファイル位置を再配置する
(仮想保護メンバ関数) |
|
[virtual]
|
出力エリアから関連付けられたファイルに文字を書き込む
(仮想保護メンバ関数) |
|
[virtual]
|
関連付けられたロケールを変更する
(仮想保護メンバ関数) |
非メンバー関数
|
(C++11)
|
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) |