返回流當(dāng)前是否與文件相關(guān)聯(lián)。如果流可以通過(guò)成功調(diào)用成員函數(shù)打開(kāi)或直接在構(gòu)建時(shí)關(guān)聯(lián)到文件,并通過(guò)調(diào)用close()函數(shù)關(guān)閉或銷毀解離。流文件關(guān)聯(lián)由其內(nèi)部流緩沖區(qū)保存:在內(nèi)部,函數(shù)調(diào)用 rdbuf()->is_open()。
以下是 fstream::is_open()函數(shù)的聲明。
C++98
bool is_open();
C++11
bool is_open() const;
如果文件是打開(kāi)的并且與當(dāng)前流對(duì)象關(guān)聯(lián)則函數(shù)返回true,否則返回false。
下面的例子解釋了關(guān)于fstream::is_open()函數(shù)的使用方法。
#include <iostream>
#include <fstream>
int main () {
std::fstream fs;
fs.open ("test.txt");
if (fs.is_open()) {
fs << "cpp fstream::is_open";
std::cout << "Operation successfully performed/n";
fs.close();
} else {
std::cout << "Error opening file";
}
return 0;
}