C++ Fstream 库 - open 函数



描述

打开参数 filename 指定的文件,将其与流对象关联,以便对文件内容执行输入/输出操作。参数 mode 指定打开模式。

声明

以下是 fstream::open 的声明。

C++98

void open (const char* filename,ios_base::openmode mode = ios_base::in | ios_base::out);

C++11

void open (const char* filename,ios_base::openmode mode = ios_base::in | ios_base::out);
void open (const string& filename,ios_base::openmode mode = ios_base::in | ios_base::out);

参数

  • filename − 包含要打开的文件名的字符串,其格式和有效性细节取决于库实现和运行环境。

  • mode − 描述请求的文件输入/输出模式的标志。

返回值

  • 如果函数无法打开文件,则会为流设置 failbit 状态标志(如果使用成员异常注册了该状态标志,则可能会抛出 ios_base::failure)。

异常

  • 基本保证 − 如果抛出异常,则流处于有效状态。

  • 如果函数失败(设置 failbit 状态标志)并且 member exceptions 设置为对此状态抛出异常,则会抛出一个成员类型 failure 的异常。

数据竞争

  • 修改 fstream 对象。

  • 并发访问同一个流对象会导致数据竞争。

示例

以下示例说明了 fstream open 函数。

#include <fstream>

int main () {

   std::fstream fs;
   fs.open ("test.txt", std::fstream::in | std::fstream::out | std::fstream::app);

   fs << " more lorem ipsum";

   fs.close();

   return 0;
}
fstream.htm
广告