std::basic_fstream<CharT,Traits>::is_open
From cppreference.com
< cpp | io | basic fstream
| bool is_open() const; |
||
ファイルストリームに関連付けられたファイルがあるかどうかを確認します。
rdbuf()->is_open() を実質的に呼び出します。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
true ファイルストリームに関連付けられたファイルがある場合、それ以外の場合は false。
[編集] 例
このコードを実行
#include <fstream> #include <iostream> #include <string> int main() { std::string filename = "some_file"; std::fstream fs(filename, std::ios::in); std::cout << std::boolalpha; std::cout << "fs.is_open() = " << fs.is_open() << '\n'; if (!fs.is_open()) { fs.clear(); fs.open(filename, std::ios::out); std::cout << "fs.is_open() = " << fs.is_open() << '\n'; } }
実行結果の例
fs.is_open() = false fs.is_open() = true
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 365 | C++98 | is_open は const 修飾子なしで宣言されていました。 | const 修飾子付きで宣言されています。 |
[編集] 関連項目
| ファイルを開き、ストリームに関連付ける (public member function) | |
| 関連付けられたファイルを閉じる (public member function) |