basic_ofstream-Klasse

Beschreibt ein Objekt, das das Einfügen von Elementen und codierten Objekten in einen Datenstrompuffer der Klasse basic_filebuf< Elem, Tr>steuert, mit Elementen des Typs Elem, dessen Zeicheneigenschaften durch die Klasse Trbestimmt werden. Weitere Informationen finden Sie unter basic_filebuf.

Syntax

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

Parameter

Elem
Das grundlegende Element des Dateipuffers.

Tr
Die Merkmale des grundlegenden Elements des Dateipuffers (normalerweise char_traits<Elem>).

Bemerkungen

Wenn die Spezialisierung von basic_ofstream Schreibvorgängen in die Datei erfolgt, wenn die wchar_t Datei im Textmodus geöffnet wird, schreibt sie eine MBCS-Sequenz. Die interne Darstellung verwendet einen Puffer mit wchar_t-Zeichen.

Das Objekt speichert ein Objekt der Klasse basic_filebuf< Elem, Tr>.

Beispiel

Das folgende Beispiel zeigt, wie ein basic_ofstream-Objekt erstellt und Text in dieses Objekt geschrieben wird.

// 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();
    }
}

Konstruktoren

Konstruktor BESCHREIBUNG
basic_ofstream Erstellt ein Objekt vom Typ basic_ofstream.

Memberfunktionen

Memberfunktion BESCHREIBUNG
close Schließt eine Datei.
is_open Ermittelt, ob eine Datei geöffnet ist.
open Öffnet eine Datei.
rdbuf Gibt die Adresse des gespeicherten Streampuffers zurück.
swap Tauscht den Inhalt dieses basic_ofstream-Objekts gegen den Inhalt des bereitgestellten basic_ofstream-Objekts aus.

Operatoren

Operator Beschreibung
operator= Weist den Inhalt dieses Streamobjekts zu. Dies ist eine Verschiebungszuweisung, die eine rvalue reference Kopie nicht hinterlässt.

Anforderungen

Header:<fstream>

Namespace:std

basic_ofstream::basic_ofstream

Erstellt ein Objekt vom Typ 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);

Parameter

_Filename
Der Name der zu öffnenden Datei.

_Mode
Eine der Aufzählungen in ios_base::openmode.

_Prot
Der Standardmäßige Dateiöffnungsschutz, entspricht dem shflag Parameter in _fsopen, _wfsopen.

right
Der rvalue-Verweis auf das basic_ofstream-Objekt, das benutzt wird, um dieses basic_ofstream-Objekt zu initialisieren.

Bemerkungen

Der erste Konstruktor initialisiert die Basisklasse durch Aufrufen basic_ostream(sb), wo sb das gespeicherte Objekt der basic_filebuf< Elem, Tr>Klasse ist. Es initialisiert sb auch durch Aufrufen basic_filebufElem<, . Tr>

Der zweite und dritte Konstruktor initialisieren die Basisklasse durch Aufrufen basic_ostream( sb). Es initialisiert sb auch durch AufrufenElem<Trbasic_filebuf> und dann .sb.open( _Filename, _Mode | ios_base::out) Wenn diese Funktion einen NULL Zeiger zurückgibt, ruft setstate(failbit)der Konstruktor auf.

Der vierte Konstruktor ist eine Kopierfunktion. Er initialisiert das Objekt mit dem Inhalt von right, das als rvalue-Verweis behandelt wird.

Weitere Informationen finden Sie unter basic_ostream, open und setstate.

Beispiel

Das folgende Beispiel zeigt, wie ein basic_ofstream-Objekt erstellt und Text in dieses Objekt geschrieben wird.

// 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

Schließt eine Datei.

void close();

Bemerkungen

Die Memberfunktion ruft rdbuf->close. Weitere Informationen finden Sie unter rdbuf und close.

Beispiel

Weitere Informationen finden Sie in basic_filebuf::close einem Beispiel, das verwendet closewird.

basic_ofstream::is_open

Gibt an, ob eine Datei geöffnet ist.

bool is_open() const;

Rückgabewert

true, wenn die Datei geöffnet ist, andernfalls false.

Bemerkungen

Die Memberfunktion gibt rdbuf->is_open zurück. Weitere Informationen finden Sie unter rdbuf und is_open.

Beispiel

// 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

Öffnet eine Datei.

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);

Parameter

_Filename
Der Name der zu öffnenden Datei.

_Mode
Eine der Aufzählungen in ios_base::openmode.

_Prot
Der Standardmäßige Dateiöffnungsschutz, entspricht dem shflag Parameter in _fsopen, _wfsopen.

Bemerkungen

Die Memberfunktion ruft rdbuf -> open(_ Filename, _Mode | ios_base::out). Wenn diese Funktion einen NULL Zeiger zurückgibt, wird die Funktion aufgerufen setstate(failbit).

Weitere Informationen finden Sie unter rdbuf, open und setstate.

Beispiel

Weitere Informationen finden Sie in basic_filebuf::open einem Beispiel, das verwendet openwird.

basic_ofstream::operator=

Weist den Inhalt dieses Streamobjekts zu. Dies ist eine Verschiebungszuweisung, die eine rvalue reference Kopie nicht hinterlässt.

basic_ofstream& operator=(basic_ofstream&& right);

Parameter

right
Ein rvalue-Verweis auf ein basic_ofstream-Objekt.

Rückgabewert

Gibt *this zurück.

Bemerkungen

Der Member-Operator ersetzt den Inhalt des Objekts mithilfe des Inhalts von right, als Rvalue-Verweis behandelt.

basic_ofstream::rdbuf

Gibt die Adresse des gespeicherten Streampuffers zurück.

basic_filebuf<Elem, Tr> *rdbuf() const

Rückgabewert

Gibt die Adresse des gespeicherten Streampuffers zurück.

Beispiel

Weitere Informationen finden Sie in basic_filebuf::close einem Beispiel, das verwendet rdbufwird.

basic_ofstream::swap

Tauscht den Inhalt von zwei basic_ofstream-Objekten aus.

void swap(basic_ofstream& right);

Parameter

right
Ein lvalue-Verweis auf ein anderes basic_ofstream-Objekt.

Bemerkungen

Die Memberfunktion tauscht den Inhalt dieses Objekts mit dem Inhalt von right aus.

Weitere Informationen

basic_ostream Klasse
Threadsicherheit in der C++-Standardbibliothek
iostream Programmierung
iostreams Konventionen