C++教科書/標準ライブラリ編/<fstream>の章
編集はじめに
編集<fstream>ヘッダーは、ファイルの入出力を行うためのクラスを提供します。このヘッダーはC++の入出力ライブラリの一部です。
basic_filestream
編集ファイル入出力を抽象化したクラステンプレートが定義されています。
- basic_filebuf<CharT, Traits>
- ファイル入出力の低レベル操作を行います。
- basic_ifstream<CharT, Traits>
- ファイル入力ストリームクラス。
- basic_ofstream<CharT, Traits>
- ファイル出力ストリームクラス。
- basic_fstream<CharT, Traits>
- ファイル入出力ストリームクラス。
また、char型とwchar_t型に特化された型エイリアスが用意されています。
basic_filebuf
編集このクラスはbaisc_streambufを継承し、ファイルへの低レベルアクセスを提供します。
- オープン/クローズ
- バッファ操作
- 入出力位置の移動
- ロケールの設定
basic_ifstream
編集ファイルからの入力を行うクラスです。
- コンストラクタでパス名とオープンモードを指定
- rdbufでbuffer取得
- is_open、open、closeでファイルをオープン/クローズ
basic_ofstream
編集ファイルへの出力を行うクラスです。
- コンストラクタでパス名とオープンモードを指定
- rdbufでbuffer取得
- is_open、open、closeでファイルをオープン/クローズ
basic_fstream
編集ファイルの入出力を行うクラスです。
- コンストラクタでパス名とオープンモードを指定
- rdbufでbuffer取得
- is_open、open、closeでファイルをオープン/クローズ
swap関数
編集要素交換のためのswap関数が特殊化されています。
まとめ
編集<fstream>ヘッダーを使えば、ファイルへのバイナリ入出力やテキスト入出力が行えます。基底クラスのbufferへのアクセスも可能です。パス名の指定にはstd::stringやstd::filesystem::pathが使えます。