basic_fstream-Klasse
Beschreibt ein Objekt, das das Einfügen und Extrahieren von Elementen und codierten Objekten mithilfe eines Datenstrompuffers der Klasse basic_filebufElem
<, mit Elementen vom Typ Elem
steuert, Tr
>deren Zeicheneigenschaften von der Klasse Tr
bestimmt werden.
Syntax
template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<Elem, Tr>
Parameter
Elem
Das grundlegende Element des Dateipuffers.
Tr
Die Eigenschaften des grundlegenden Elements des Dateipuffers (in der Regel char_traits
<Elem
>).
Hinweise
Das Objekt speichert ein Objekt der Klasse basic_filebuf
<Elem
, Tr
>.
Hinweis
Der Lesezeiger (get-Zeiger) und der Schreibzeiger (put-Zeiger) eines fstream-Objekts sind NICHT unabhängig voneinander. Wenn der get-Zeiger verschoben wird, wird auch der put-Zeiger verschoben.
Beispiel
Das folgende Beispiel veranschaulicht, wie ein basic_fstream
-Objekt erstellt wird, aus dem gelesen und in das geschrieben werden kann.
// basic_fstream_class.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
fstream fs("fstream.txt", ios::in | ios::out | ios::trunc);
if (!fs.bad())
{
// Write to the file.
fs << "Writing to a basic_fstream object..." << endl;
fs.close();
// Dump the contents of the file to cout.
fs.open("fstream.txt", ios::in);
cout << fs.rdbuf();
fs.close();
}
}
Writing to a basic_fstream object...
Konstruktoren
Konstruktor | Beschreibung |
---|---|
basic_fstream | Konstruiert ein Objekt vom Typ basic_fstream . |
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 Datenstrompuffers vom Typ Zeiger auf basic_filebufElem < zurück. Tr > |
swap | Tauscht den Inhalt dieses Objekts gegen den Inhalt eines anderen basic_fstream -Objekts. |
Anforderungen
Header:<fstream>
Namespace: std
basic_fstream::basic_fstream
Konstruiert ein Objekt vom Typ basic_fstream
.
basic_fstream();
explicit basic_fstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
explicit basic_fstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
basic_fstream(basic_fstream&& right);
Parameter
_Dateiname
Der Name der zu öffnenden Datei.
_Modus
Eine der Enumerationen in ios_base::openmode.
_Prot
Der Standardmäßige Dateiöffnungsschutz, der dem Shflag-Parameter in _fsopen entspricht, _wfsopen.
Hinweise
Der erste Konstruktor initialisiert die Basisklasse durch Aufrufen von basic_iostream(sb
), wobei sb
das gespeicherte Objekt der Klasse basic_filebuf<Elem, Tr.> Sie initialisiert sb
auch durch Aufrufen von basic_filebuf
<Elem, Tr>.
Der zweite und dritte Konstruktor initialisiert die Basisklasse durch Aufrufen von basic_iostream
( sb). Sie initialisiert sb
auch durch Aufrufen basic_filebuf
<von Elem, Tr> und dann sb.open(_ Filename, _Mode
). Wenn die letztere Funktion einen NULL-Zeiger zurückgibt, ruft der Konstruktor setstate(failbit
) auf.
Der vierte Konstruktor initialisiert das Objekt mit dem Inhalt von right
, das als rvalue-Verweis behandelt wird.
Beispiel
Ein Beispiel, in dem basic_fstream
verwendet wird, finden Sie unter streampos.
basic_fstream::close
Schließt eine Datei.
void close();
Hinweise
Die Memberfunktion ruft rdbuf-> close auf.
Beispiel
Sie finden ein Beispiel zur Verwendung von close
unter basic_filebuf::close.
basic_fstream::is_open
Ermittelt, 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.
Beispiel
Sie finden ein Beispiel zur Verwendung von is_open
unter basic_filebuf::is_open.
basic_fstream::open
Öffnet eine Datei.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in | 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::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode);
Parameter
_Dateiname
Der Name der zu öffnenden Datei.
_Modus
Eine der Enumerationen in ios_base::openmode.
_Prot
Der Standardmäßige Dateiöffnungsschutz, der dem Shflag-Parameter in _fsopen entspricht, _wfsopen.
Hinweise
Die Memberfunktion ruft rdbuf -> open(_ Filename, _Mode
). Wenn diese Funktion einen NULL-Zeiger zurückgibt, ruft die Funktion setstate( failbit
) auf.
Beispiel
Ein Beispiel für die Verwendung finden Sie unter basic_filebuf::open.open
basic_fstream::operator=
Weist diesem Objekt den Inhalt eines angegebenen Streamobjekts zu. Dies ist eine Verschiebezuweisung mit einem rvalue, der keine Kopie hinterlässt.
basic_fstream& operator=(basic_fstream&& right);
Parameter
right
Ein lvalue-Verweis auf ein basic_fstream
-Objekt.
Rückgabewert
Gibt *this
zurück.
Hinweise
Der Memberoperator ersetzt den Inhalt des Objekts durch die Verwendung des Rechtsinhalts, der als Rvalue-Verweis behandelt wird.
basic_fstream::rdbuf
Gibt die Adresse des gespeicherten Datenstrompuffers vom Typ Zeiger auf basic_filebuf<Elem, Tr> zurück.
basic_filebuf<Elem, Tr> *rdbuf() const
Rückgabewert
Die Adresse des gespeicherten Streampuffers.
Beispiel
Sie finden ein Beispiel zur Verwendung von rdbuf
unter basic_filebuf::close.
basic_fstream::swap
Tauscht den Inhalt von zwei basic_fstream
-Objekten aus.
void swap(basic_fstream& right);
Parameter
right
Ein lvalue
-Verweis auf ein basic_fstream
-Objekt.
Hinweise
Die Mitgliedsfunktion tauscht den Inhalt dieses Objekts und den Inhalt des Rechts aus.
Siehe auch
Threadsicherheit in der C++-Standardbibliothek
iostream-Programmierung
iostreams-Konventionen