Freigeben über


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 vom Typ Elem, deren Zeicheneigenschaften von der 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 Eigenschaften des grundlegenden Elements des Dateipuffers (in der Regel char_traits<Elem>).

Hinweise

Wenn die wchar_t Spezialisierung von basic_ofstream Schreibvorgängen in die Datei erfolgt, schreibt sie eine MBCS-Sequenz, wenn die Datei im Textmodus geöffnet wird. 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 Verschiebungsaufgabe, 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 Enumerationen in ios_base::openmode.

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

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

Hinweise

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

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

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

Hinweise

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

Beispiel

Ein Beispiel, das verwendet wird, closefinden Sie unter basic_filebuf::close .

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.

Hinweise

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 Enumerationen in ios_base::openmode.

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

Hinweise

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

Weitere Informationen finden Sie unter rdbuf, open und setstate.

Beispiel

Ein Beispiel, das verwendet wird, openfinden Sie unter basic_filebuf::open .

basic_ofstream::operator=

Weist den Inhalt dieses Streamobjekts zu. Dies ist eine Verschiebungsaufgabe, 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.

Hinweise

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

Ein Beispiel, das verwendet wird, rdbuffinden Sie unter basic_filebuf::close .

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.

Hinweise

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

Siehe auch

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