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 Tr
bestimmt 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
, _wfsopen
entspricht.
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_filebuf
Elem
<von , . Tr
>
Die zweite und dritte Konstruktor initialisieren die Basisklasse durch Aufrufen.basic_ostream( sb)
Sie initialisiert sb
auch durch AufrufenElem
<Tr
basic_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, close
finden 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
, _wfsopen
entspricht.
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, open
finden 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, rdbuf
finden 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