C++/標準ライブラリ/fstream
表示
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が使えます。