std::basic_ifstream<CharT,Traits>::open
来自 cppreference.com
< cpp | io | basic ifstream
void open( const char* filename, = std::ios_base::in ); |
(1) | |
void open( const std::filesystem::path::value_type* filename, = std::ios_base::in ); |
(2) | (自 C++17 起) |
void open( const std::string& filename, = std::ios_base::in ); |
(3) | (自 C++11 起) |
void open( const std::filesystem::path& filename, = std::ios_base::in ); |
(4) | (自 C++17 起) |
打开并使用名称 filename 与文件流关联文件。
在成功时调用 clear()。在失败时调用 setstate(failbit)。
1,2) 实际上调用 rdbuf()->open(filename, mode | ios_base::in)(有关该调用的影响详细信息,请参见 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,定义了以下常量
|
[编辑] 返回值
(无)
[编辑] 示例
本节不完整 原因:没有示例 |
[编辑] 缺陷报告
以下行为更改缺陷报告已追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确的行为 |
---|---|---|---|
LWG 22 | C++98 | 不清楚成功打开后错误状态是如何变化的 | 错误状态保持不变 |
LWG 409 | C++98 | 成功打开后错误状态保持不变 | 它已清除[1] |
- ↑ 覆盖了 LWG 问题 #22 的解决方案。
[编辑] 另请参见
检查流是否具有关联文件 (公共成员函数) | |
关闭关联文件 (公共成员函数) | |
打开文件并将其配置为关联的字符序列 ( std::basic_filebuf<CharT,Traits> 的公共成员函数) |