命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | io‎ | basic ofstream
void open( const char* filename,

           std::ios_base::openmode mode

               = std::ios_base::out );
(1)
void open( const std::filesystem::path::value_type* filename,

           std::ios_base::openmode mode

               = std::ios_base::out );
(2) (自 C++17 起)
void open( const std::string& filename,

           std::ios_base::openmode mode

               = std::ios_base::out );
(3) (自 C++11 起)
void open( const std::filesystem::path& filename,

           std::ios_base::openmode mode

               = std::ios_base::out );
(4) (自 C++17 起)

打开并使用名称 filename 与文件流关联文件。

在成功时调用 clear()。在失败时调用 setstate(failbit)

1,2) 有效地调用 rdbuf()->open(filename, mode | ios_base::out)(有关该调用影响的详细信息,请参阅 std::basic_filebuf::open)。如果 std::filesystem::path::value_type 不是 char,则仅提供重载 (2)(自 C++17 起)
3,4) 有效地调用 (1,2),就像通过 open(filename.c_str(), mode) 一样。

内容

[编辑] 参数

filename - 要打开的文件的名称
mode - 指定流打开模式。它是一个 BitmaskType,定义了以下常量
常量 解释
app 在每次写入之前,都将查找位置移动到流的末尾
binary 二进制模式 打开
in 以读模式打开
out 以写模式打开
trunc 在打开时丢弃流的内容
ate 在打开后立即将查找位置移动到流的末尾
noreplace (C++23) 以独占模式打开

[编辑] 返回值

(无)

[编辑] 示例

[编辑] 缺陷报告

以下更改行为的缺陷报告已追溯应用于以前发布的 C++ 标准。

DR 应用于 已发布的行为 正确的行为
LWG 22 C++98 不清楚成功打开后错误状态如何更改 错误状态保持不变
LWG 409 C++98 成功打开后错误状态保持不变 已清除[1]
  1. LWG 问题 #22 的解决方案被覆盖。

[编辑] 另请参阅

检查流是否与文件关联
(公共成员函数) [编辑]
关闭关联的文件
(公共成员函数) [编辑]
打开文件并将其配置为关联的字符序列
(std::basic_filebuf<CharT,Traits> 的公共成员函数) [编辑]