C++ fstream 库 - is_open 函数



描述

返回流当前是否与文件关联。如果流可以通过成功调用成员 open 或直接在构造时与文件关联,并通过调用 close 或在销毁时取消关联。流的文件关联由其内部流缓冲区保持:内部地,函数调用 rdbuf()->is_open()。

声明

以下是 fstream::is_open 的声明。

C++98

bool is_open();

C++11

bool is_open() const;

返回值

如果文件已打开并与该流对象关联,则返回 true;否则返回 false。

异常

强保证 - 如果抛出异常,流中没有任何更改。

数据竞争

  • 访问 fstream 对象。

  • 同时访问同一流可能会导致数据竞争。

示例

下面的示例解释了 fstream is_open 函数。

#include <iostream>     
#include <fstream>      

int main () {
   std::fstream fs;
   fs.open ("test.txt");
   if (fs.is_open()) {
      fs << "lorem ipsum";
      std::cout << "Operation successfully performed\n";
      fs.close();
   } else {
      std::cout << "Error opening file";
   }
   return 0;
}
fstream.htm
广告