名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | io‎ | basic fstream
 
 
 
 
void open(constchar*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(conststd::string&filename,                                  
           ios_base::openmode mode = ios_base::in|ios_base::out);
(3) (C++11以上)
void open(conststd::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<CharT,Traits>のパブリックメンバ関数)[edit]
close