名前空間
変種
操作

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

From cppreference.com
< cpp‎ | io‎ | basic ifstream
 
 
 
 
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以降)
void open( const std::string& filename,

           std::ios_base::openmode mode

               = std::ios_base::in );
(3) (C++11以降)
void open( const std::filesystem::path& filename,

           std::ios_base::openmode mode

               = std::ios_base::in );
(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_typechar でない場合にのみ提供されます。(C++17 以降)
3,4) 実質的に (1,2)open(filename.c_str(), mode) で呼び出すかのように処理します。

目次

[編集] パラメータ

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

[編集] 戻り値

(なし)

[編集]

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 22 C++98 正常なオープン時にエラー状態がどのように変化するかが不明確であった エラー状態は変更されない
LWG 409 C++98 正常なオープン時にエラー状態が変更されなかった クリアされる[1]
  1. LWG問題#22の解決は上書きされます。

[編集] 関連項目

ストリームに関連付けられたファイルがあるかチェックする
(public member function) [編集]
関連付けられたファイルを閉じる
(public member function) [編集]
ファイルをオープンし、関連付けられた文字シーケンスとして設定します。
(std::basic_filebuf<CharT,Traits> のメンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)