std::basic_ofstream
提供: cppreference.com
<tbody>
</tbody>

| ヘッダ <fstream> で定義
|
||
template< class CharT, class Traits = std::char_traits<CharT> > class basic_ofstream : public std::basic_ostream<CharT, Traits> |
||
クラステンプレート basic_ofstream はファイルベースのストリームに対する高水準の出力ストリームを実装します。 std::basic_ostream の高水準インタフェースを使用してファイルベースのストリームバッファ (std::basic_filebuf) とやりとりします。
std::basic_ofstream の一般的な実装はひとつの非継承データメンバ、 std::basic_filebuf<CharT, Traits> のインスタンスのみを保持します。
継承図
一般的な文字型に対する2つの特殊化が定義されます。
ヘッダ
<fstream> で定義 | |
| 型 | 定義 |
ofstream
|
basic_ofstream<char>
|
wofstream
|
basic_ofstream<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_ofstream および紐付けられているバッファを破棄し、ファイルを閉じます (仮想パブリックメンバ関数) |
(C++11) |
ファイルストリームをムーブします (パブリックメンバ関数) |
(C++11) |
2つのファイルストリームを入れ替えます (パブリックメンバ関数) |
| ベースとなる生のファイルデバイスオブジェクトを返します (パブリックメンバ関数) | |
ファイル操作 | |
| ストリームが紐付けられているファイルを持っているかどうか調べます (パブリックメンバ関数) | |
| ファイルを開き、それをストリームと紐付けます (パブリックメンバ関数) | |
| 紐付けられているファイルを閉じます (パブリックメンバ関数) | |
非メンバ関数
| std::swap アルゴリズムの特殊化 (関数テンプレート) |
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>のパブリックメンバ関数)
| |
| エラーが発生したかどうか調べます (std::basic_ios::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.b";
{
std::ofstream ostrm(filename, std::ios::binary);
double d = 3.14;
ostrm.write(reinterpret_cast<char*>(&d), sizeof d); // binary output
ostrm << 123 << "abc" << '\n'; // text output
}
// read back
std::ifstream istrm(filename, std::ios::binary);
double d;
istrm.read(reinterpret_cast<char*>(&d), sizeof d);
int n;
std::string s;
istrm >> n >> s;
std::cout << " read back: " << d << " " << n << " " << s << '\n';
}
出力:
read back: 3.14 123 abc