コンテンツにスキップ

C++/標準ライブラリ/fstream

出典: フリー教科書『ウィキブックス(Wikibooks)』

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