std::basic_fstream
提供: cppreference.com
ヘッダ <fstream> で定義
|
||
template< class CharT, |
||
クラステンプレート basic_fstream
はファイルベースのストリームに対する高水準の入出力操作を実装します。 std::basic_iostream の高水準インタフェースを使用してファイルベースのストリームバッファ (std::basic_filebuf) とやりとりします。
std::basic_fstream
の一般的な実装はひとつの非継承データメンバ、 std::basic_filebuf<CharT, Traits> のインスタンスのみを保持します。
一般的な文字型に対する2つの特殊化が定義されます。
ヘッダ
<fstream> で定義 | |
型 | 定義 |
fstream
|
basic_fstream<char> |
wfstream
|
basic_fstream<wchar_t> |
目次 |
[編集] メンバ型
メンバ型 | 定義 |
char_type
|
CharT |
traits_type
|
Traits。 Traits::char_type が CharT でない場合、プログラムは ill-formed です
|
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
[編集] メンバ関数
ファイルストリームを構築します (パブリックメンバ関数) | |
デストラクタ [仮想] (暗黙に宣言) |
basic_fstream および紐付けられているバッファを破棄し、ファイルを閉じます (仮想パブリックメンバ関数) |
(C++11) |
ファイルストリームをムーブします (パブリックメンバ関数) |
(C++11) |
2つのファイルストリームを入れ替えます (パブリックメンバ関数) |
ベースとなる生のファイルデバイスオブジェクトを返します (パブリックメンバ関数) | |
ファイル操作 | |
ストリームが紐付けられているファイルを持っているかどうか調べます (パブリックメンバ関数) | |
ファイルを開き、それをストリームと紐付けます (パブリックメンバ関数) | |
紐付けられているファイルを閉じます (パブリックメンバ関数) |
[編集] 非メンバ関数
std::swap アルゴリズムの特殊化 (関数テンプレート) |
std::basic_istream から継承
メンバ関数
書式付き入力 | |
書式付きデータを抽出します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
書式なし入力 | |
文字を抽出します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
次の文字を抽出せずに読み取ります ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
文字の抽出を取り消します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
入力ストリームに文字を戻します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
指定された文字が見つかるまで文字を抽出します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
指定された文字が見つかるまで文字を抽出して破棄します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
文字のブロックを抽出します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
すでに利用可能な文字のブロックを抽出します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
最後の書式なし入力操作によって抽出された文字数を返します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
位置設定 | |
入力位置指示子を返します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
入力位置指示子を設定します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
| |
その他 | |
ベースとなるストレージデバイスと同期します ( std::basic_istream<CharT,Traits> のパブリックメンバ関数)
|
メンバクラス
入力操作用にストリームを準備するための基本ロジックを実装します ( std::basic_istream<CharT,Traits> のパブリックメンバクラス)
|
std::basic_ostream から継承
メンバ関数
書式付き出力 | |
書式付きデータを挿入します ( std::basic_ostream<CharT,Traits> のパブリックメンバ関数)
| |
書式なし出力 | |
文字を挿入します ( std::basic_ostream<CharT,Traits> のパブリックメンバ関数)
| |
文字のブロックを挿入します ( std::basic_ostream<CharT,Traits> のパブリックメンバ関数)
| |
位置設定 | |
出力位置指示子を返します ( std::basic_ostream<CharT,Traits> のパブリックメンバ関数)
| |
出力位置指示子を設定します ( std::basic_ostream<CharT,Traits> のパブリックメンバ関数)
| |
その他 | |
ベースとなるストレージデバイスと同期します ( std::basic_ostream<CharT,Traits> のパブリックメンバ関数)
|
メンバクラ���
出力操作用にストリームを準備するための基本ロジックを実装します ( std::basic_ostream<CharT,Traits> のパブリックメンバクラス)
|
std::basic_ios から継承
メンバ型
メンバ型 | 定義 |
char_type
|
CharT |
traits_type
|
Traits |
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
メンバ関数
状態関数 | |
エラーが発生していない (すなわち入出力操作が使用可能) かどうか調べます ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
ファイル終端に達したかどうか調べます ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
エラーが発生したかどうか調べます ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
回復不可能なエラーが発生したかどうか調べます ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
エラーが発生したかどうか調べます (fail() の同義語です) ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
(C++11未満)(C++11以上) |
エラーが発生していないかどうか調べます (!fail() の同義語です) ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
|
状態フラグを返します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
状態フラグを設定します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
状態フラグを変更します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
書式 | |
書式情報をコピーします ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
フィル文字を管理します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
その他 | |
例外マスクを管理します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
ロケールを設定します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
紐付けられているストリームバッファを管理します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
結び付けられているストリームを管理します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
文字をナロー化します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
| |
文字をワイド化します ( std::basic_ios<CharT,Traits> のパブリックメンバ関数)
|
std::ios_base から継承
メンバ関数
書式 | |
書式フラグを管理します ( std::ios_base のパブリックメンバ関数)
| |
特定の書式フラグをセットします ( std::ios_base のパブリックメンバ関数)
| |
特定の書式フラグをクリアします ( std::ios_base のパブリックメンバ関数)
| |
浮動小数点操作の10進精度を管理します ( std::ios_base のパブリックメンバ関数)
| |
フィールド幅を管理します ( std::ios_base のパブリックメンバ関数)
| |
ロケール | |
ロケールを設定します ( std::ios_base のパブリックメンバ関数)
| |
現在のロケールを返します ( std::ios_base のパブリックメンバ関数)
| |
内部の拡張可能な配列 | |
[静的] |
pword() および iword() へのインデックスとして使用するのに安全な、プログラム全体で一意な整数を返します ( std::ios_base のパブリック静的メンバ関数)
|
必要であればプライベートな記憶域をリサイズし、指定されたインデックスの long 要素にアクセスします ( std::ios_base のパブリックメンバ関数)
| |
必要であればプライベートな記憶域をリサイズし、指定されたインデックスの void* 要素にアクセスします ( std::ios_base のパブリックメンバ関数)
| |
その他 | |
イベントのコールバック関数を登録します ( std::ios_base のパブリックメンバ関数)
| |
[静的] |
C++ と C の入出力ライブラリが相互運用可能であるかどうかを設定します ( std::ios_base のパブリック静的メンバ関数)
|
メンバクラス | |
ストリームの例外 ( std::ios_base のパブリックメンバクラス)
| |
標準ストリームオブジェクトを初期化します ( std::ios_base のパブリックメンバクラス)
|
メンバ型および定数 | |||||||||||||||||||||||||||||||||||||||
型 | 説明 | ||||||||||||||||||||||||||||||||||||||
ストリームのオープンモードの型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
書式フラグの型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
ストリーム状態の型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
シーク方向の型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
イベントの種類を規定します (列挙) | |||||||||||||||||||||||||||||||||||||||
コールバック関数の型 (typedef) |
[編集] 関連項目
入出力ストリームから文字列にデータを読み込みます (関数) |
[編集] 例
Run this code
#include <iostream> #include <fstream> #include <string> int main() { std::string filename = "test.bin"; std::fstream s(filename, s.binary | s.trunc | s.in | s.out); if (!s.is_open()) { std::cout << "failed to open " << filename << '\n'; } else { // write double d = 3.14; s.write(reinterpret_cast<char*>(&d), sizeof d); // binary output s << 123 << "abc"; // text output // for fstream, this moves the file position pointer (both put and get) s.seekp(0); // read s.read(reinterpret_cast<char*>(&d), sizeof d); // binary input int n; std::string str; if (s >> n >> str) // text input std::cout << "read back from file: " << d << ' ' << n << ' ' << str << '\n'; } }
出力:
read back from file: 3.14 123 abc