最終更新日時(UTC):
が更新

履歴 編集

class template
<fstream>

std::basic_ifstream

namespace std {
  template <class CharT, class Traits = char_traits<CharT>>
  class basic_ifstream : public basic_istream<CharT, Traits>;

  using ifstream  = basic_ifstream<char>;
  using wifstream = basic_ifstream<wchar_t>;
}

概要

少なくとも読み取り操作のできるファイルストリーム

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ
(destructor) デストラクタ
operator= ムーブ代入 C++11
swap 値の交換 C++11
rdbuf ストリームバッファオブジェクトの取得
is_open ファイルを開いているかの判定
open ファイルを開く
close ファイルを閉じる

ネイティブハンドルの取得

名前 説明 対応バージョン
native_handle() ネイティブハンドルを取得する[処理系定義 C++26

非メンバ関数

名前 説明 対応バージョン
swap 2つのオブジェクトを入れ替える C++11

メンバ型

名前 説明 対応バージョン
char_type テンプレート仮引数CharT
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type
traits_type テンプレート仮引数Traits
native_handle_type 処理系定義のネイティブハンドルの型typename basic_filebuf<CharT, Traits>::native_handle_type C++26

#include <fstream>
#include <iostream>
#include <string>

int main() {
  // example.txtファイルを読み取り専用で開く
  std::ifstream ifs("example.txt");
  if (!ifs.is_open()) {
    std::cerr << "ファイルを開けませんでした" << std::endl;
    return 1;
  }

  // ファイルの内容を1行ずつ読み取り、出力する
  std::string line;
  while (std::getline(ifs, line)) {
    std::cout << line << std::endl;
  }

  // ファイルを閉じる (デストラクタでも自動的に閉じられる)
  ifs.close();
}