名前空間
変種
操作

std::basic_fstream::open

提供: cppreference.com
< cpp‎ | io‎ | basic fstream
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
 
void open( const char *filename,
           ios_base::openmode mode = ios_base::in|ios_base::out );
(1)
void open( const std::filesystem::path::value_type *filename,
           ios_base::openmode mode = ios_base::in|ios_base::out );
(2) (C++17以上)
void open( const std::string &filename,                                  
           ios_base::openmode mode = ios_base::in|ios_base::out );
(3) (C++11以上)
void open( const std::filesystem::path &filename,                                  
           ios_base::openmode mode = ios_base::in|ios_base::out );
(4) (C++17以上)

名前 filename を持つファイルを開き、それをファイルストリームと紐付けます。

失敗した場合は setstate(failbit) を呼びます。

成功した場合は clear() を呼びます。 (C++11以上)
1-2) 実質的に rdbuf()->open(filename, mode) を呼びます (呼び出しの効果の詳細は std::basic_filebuf::open を参照してください)。 オーバーロード (2)std::filesystem::path::value_typechar でない場合にのみ提供されます。 (C++17以上)
3-4) 実質的に、 open(filename.c_str(), mode) によって行われたかのように、 (1-2) を呼びます。

目次

[編集] 引数

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

[編集] 戻り値

(なし)

[編集]

#include <string>
#include <fstream>
#include <iostream>
 
int main()
{
    std::string filename = "example.123";
 
    std::fstream fs;
 
    fs.open(filename);
 
    if(!fs.is_open())
    {
       fs.clear();
       fs.open(filename, std::ios::out); //Create file.
       fs.close();
       fs.open(filename);
    }
 
    std::cout << std::boolalpha;
    std::cout << "fs.is_open() = " << fs.is_open() << '\n';
    std::cout << "fs.good() = " << fs.good() << '\n';
}


[編集] 関連項目

ストリームが紐付けられているファイルを持っているかどうか調べます
(パブリックメンバ関数) [edit]
紐付けられているファイルを閉じます
(パブリックメンバ関数) [edit]
ファイルを開き、それを文字シーケンスとして紐付けます
(std::basic_filebufのパブリックメンバ関数) [edit]