Namespaces
Variants

std::basic_ifstream<CharT,Traits>:: open

From cppreference.net

void open ( const char * filename,

std:: ios_base :: openmode mode

= std:: ios_base :: in ) ;
(1)
void open ( const std :: filesystem :: path :: value_type * filename,

std:: ios_base :: openmode mode

= std:: ios_base :: in ) ;
(2) (C++17以降)
(3) (C++11以降)
(4) (C++17以降)

ファイル名 filename を持つファイルを開き、ファイルストリームに関連付けます。

成功時に clear ( ) を呼び出します。失敗時に setstate ( failbit ) を呼び出します。

1,2) 実質的に rdbuf ( ) - > open ( filename, mode | ios_base :: in ) を呼び出す(この呼び出しの効果の詳細については std::basic_filebuf::open を参照)。 オーバーロード (2) は、 std::filesystem::path::value_type char でない場合にのみ提供される。 (C++17以降)
3,4) 実質的に (1,2) を以下のように呼び出す open ( filename. c_str ( ) , mode )

目次

パラメータ

filename - 開くファイルの名前
mode - ストリームのオープンモードを指定します。これは BitmaskType であり、以下の定数が定義されています:
定数 説明
app 各書き込み前にストリームの終端へシーク
binary バイナリモード でオープン
in 読み取り用にオープン
out 書き込み用にオープン
trunc オープン時にストリームの内容を破棄
ate オープン直後にストリームの終端へシーク
noreplace (C++23) 排他モードでオープン

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR Applied to Behavior as published Correct behavior
LWG 22 C++98 成功時のopenにおけるエラー状態の変化が不明確であった エラー状態は変更されない
LWG 409 C++98 成功時のopenにおいてエラー状態は変更されなかった クリアされる [1]
  1. LWG issue #22 の解決は上書きされています。

関連項目

ストリームに関連付けられたファイルがあるかどうかをチェックする
(公開メンバ関数)
関連付けられたファイルを閉じる
(公開メンバ関数)
ファイルを開き、関連付けられた文字シーケンスとして設定する
( std::basic_filebuf<CharT,Traits> の公開メンバ関数)