共用方式為


basic_ofstream 類別

描述物件,控制將專案和編碼物件插入 類別 basic_filebuf< Elem, Tr>的數據流緩衝區,其 Elem字元特性是由 類別 Tr所決定。 如需詳細資訊,請參閱basic_filebuf

語法

template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<Elem, Tr>

參數

Elem
檔案緩衝區的基本項目。

Tr
檔案緩衝區基本元素的特性(通常是 char_traits<Elem>)。

備註

wchar_t 寫入檔案的 basic_ofstream 特製化時,如果檔案以文字模式開啟,則會寫入 MBCS 序列。 此內部表示法將使用 wchar_t 字元的緩衝區。

此物件會儲存類別 basic_filebuf< Elem, Tr> 的物件。

範例

下列範例會示範如何建立 basic_ofstream 物件並寫入文字。

// basic_ofstream_class.cpp
// compile with: /EHsc
#include <fstream>

using namespace std;

int main(int argc, char **argv)
{
    ofstream ofs("ofstream.txt");
    if (!ofs.bad())
    {
        ofs << "Writing to a basic_ofstream object..." << endl;
        ofs.close();
    }
}

建構函式

建構函式 描述
basic_ofstream 建立 basic_ofstream 類型的物件。

成員函式

成員函數 描述
close 關閉檔案。
is_open 判斷檔案是否為開啟。
open 開啟檔案。
rdbuf 傳回預存資料流緩衝區的位址。
swap 將這個 basic_ofstream 的內容和提供的 basic_ofstream 內容交換。

操作員

運算子 描述
operator= 指派此資料流物件的內容。 這是一個移動指派,涉及 rvalue reference 不會留下複本的 。

需求

標頭: <fstream>

命名空間std

basic_ofstream::basic_ofstream

建立 basic_ofstream 類型的物件。

basic_ofstream();

explicit basic_ofstream(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

explicit basic_ofstream(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

basic_ofstream(
    basic_ofstream&& right);

參數

_Filename
要開啟之檔案的名稱。

_Mode
中的 ios_base::openmode其中一個列舉。

_Prot
默認檔案開啟保護,相當於 shflag 中的 _wfsopen_fsopen參數。

right
正在用來初始化此 basic_ofstream 物件之 basic_ofstream 物件的右值參考。

備註

第一個建構函式會呼叫 basic_ostream(sb)來初始化基類,其中 sb 是 類別 basic_filebuf< Elem, Tr>的預存物件。 它也會藉由呼叫Elembasic_filebuf<、>Tr 來初始化。sb

第二個和第三個建構函式會呼叫 basic_ostream( sb)來初始化基類。 它也會藉由呼叫<basic_filebufElemTr>然後sb.open( _Filename, _Mode | ios_base::out)初始化 。sb 如果後者函式傳 NULL 回指標,建構函式會呼叫 setstate(failbit)

第四個建構函式是複製函式。 它會使用視為右值參考的 right 內容初始化物件。

如需詳細資訊,請參閱basic_ostreamopensetstate

範例

下列範例會示範如何建立 basic_ofstream 物件並寫入文字。

// basic_ofstream_ctor.cpp
// compile with: /EHsc
#include <fstream>

using namespace std;

int main(int argc, char **argv)
{
    ofstream ofs("C:\\ofstream.txt");
    if (!ofs.bad())
    {
        ofs << "Writing to a basic_ofstream object..." << endl;
        ofs.close();
    }
}

basic_ofstream::close

關閉檔案。

void close();

備註

成員函式會呼叫 rdbuf->close。 如需詳細資訊,請參閱 rdbufclose

範例

如需使用 close的範例,請參閱 basic_filebuf::close

basic_ofstream::is_open

指出檔案是否為開啟。

bool is_open() const;

傳回值

若已開啟檔案,即為 true;否則為 false

備註

此成員函式會傳回 rdbuf->is_open。 如需詳細資訊,請參閱 rdbufis_open

範例

// basic_ofstream_is_open.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>

int main( )
{
   using namespace std;
   ifstream file;
   // Open and close with a basic_filebuf
   file.rdbuf( )->open( "basic_ofstream_is_open.txt", ios::in );
   file.close( );
   if (file.is_open())
      cout << "it's open" << endl;
   else
      cout << "it's closed" << endl;
}

basic_ofstream::open

開啟檔案。

void open(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const char* _Filename,
    ios_base::openmode _Mode);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode);

參數

_Filename
要開啟之檔案的名稱。

_Mode
中的 ios_base::openmode其中一個列舉。

_Prot
默認檔案開啟保護,相當於 shflag 中的 _wfsopen_fsopen參數。

備註

成員函式會呼叫 rdbuf -> open(_ Filename, _Mode | ios_base::out)。 如果函式傳 NULL 回指標函式會呼叫 setstate(failbit)

如需詳細資訊,請參閱rdbufopensetstate

範例

如需使用 open的範例,請參閱 basic_filebuf::open

basic_ofstream::operator=

指派此資料流物件的內容。 這是一個移動指派,涉及 rvalue reference 不會留下複本的 。

basic_ofstream& operator=(basic_ofstream&& right);

參數

right
basic_ofstream 物件的右值參考。

傳回值

傳回 *this

備註

成員運算子會使用 right 的內容 (被視為 rvalue 參考) 來取代物件的內容。

basic_ofstream::rdbuf

傳回預存資料流緩衝區的位址。

basic_filebuf<Elem, Tr> *rdbuf() const

傳回值

傳回預存資料流緩衝區的位址。

範例

如需使用 rdbuf的範例,請參閱 basic_filebuf::close

basic_ofstream::swap

交換兩個 basic_ofstream 物件的內容。

void swap(basic_ofstream& right);

參數

right
對其他 basic_ofstream 物件的 lvalue 參考。

備註

成員函式會將此物件的內容與 right 的內容交換。

另請參閱

basic_ostream
C++ 標準程式庫中的執行緒安全
iostream 程式設計
iostreams 約定