名前空間
変種
操作

std::basic_filebuf::open

提供: cppreference.com
< cpp‎ | io‎ | basic filebuf
 
 
 
 
std::basic_filebuf<CharT, Traits>* open( const char* s,
                                         std::ios_base::openmode mode )
(1)
std::basic_filebuf<CharT, Traits>* open( const std::string& str,
                                         std::ios_base::openmode mode )
(2) (C++11およびそれ以降)
std::basic_filebuf<CharT, Traits>* open( const std::filesystem::path& p,
                                         std::ios_base::openmode mode )
(3) (C++17およびそれ以降)
std::basic_filebuf<CharT, Traits>* open( const std::filesystem::path::value_type* s,
                                         std::ios_base::openmode mode )
(4) (C++17およびそれ以降)

指定された名前 (オーバーロードによって sp.c_str() (C++17およびそれ以降) または str.c_str()) を持つファイルを開きます。

オーバーロード (4) は、 std::filesystem::path::value_typechar でない場合にのみ提供されます。

(C++17およびそれ以降)

ファイルは std::fopen(s, modestring) を呼んだかのように開かれます。 ただし modestring は以下のように決定されます。

modestring openmode & ~ate ファイルがすでに存在する場合の動作 ファイルが存在しない場合の動作
"r" in 先頭から読み込む エラー
"w" out, out|trunc 内容を破棄 新しく作成
"a" app, out|app ファイルに追記 新しく作成
"r+" out|in 先頭から読み込む エラー
"w+" out|in|trunc 内容を破棄 新しく作成
"a+" out|in|app, in|app 終端に書き込み 新しく作成
"rb" binary|in 先頭から読み込む エラー
"wb" binary|out, binary|out|trunc 内容を破棄 新しく作成
"ab" binary|app, binary|out|app 終端に書き込み 新しく作成
"r+b" binary|out|in 先頭から読み込み エラー
"w+b" binary|out|in|trunc 内容を破棄 新しく作成
"a+b" binary|out|in|app, binary|in|app 終端に書き込み 新しく作成

openmode が一覧にあるモードのいずれでもない場合、 open() は失敗します。

開く操作が成功し、 openmode & std::ios_base::ate != 0 (ate ビットがセットされている) の場合は、 std::fseek(file, 0, SEEK_END) を呼んだかのようにファイル位置をファイル終端に設定します。 位置設定に失敗した場合は、 close() を呼び、失敗を表すヌルポインタを返します。

紐付けられているファイルがすでに開いている場合は、直ちにヌルポインタを返します。

目次

[編集] 引数

s, str, p - 開くファイル名
openmode - ファイルを開くモード。 std::ios_base のモードのビット単位の論理和

[編集] 戻り値

成功した場合は this、失敗した場合はヌルポインタ。

[編集] ノート

open() は一般的に std::basic_fstream のコンストラクタまたは open() メンバ関数を通して呼ばれます。

[編集]

[編集] 関連項目

紐付けられているファイルが開いているかどうか調べます
(パブリックメンバ関数) [edit]
put 領域のバッファをフラッシュし、紐付けられているファイルを閉じます
(パブリックメンバ関数) [edit]