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が使えます。