basic_ofstream
Klasa
Opisuje obiekt, który kontroluje wstawianie elementów i zakodowanych obiektów do buforu strumienia klasy basic_filebuf< Elem, Tr>
, z elementami typu Elem
, których cechy znaków są określane przez klasę Tr
. Aby uzyskać więcej informacji, zobacz basic_filebuf
.
Składnia
template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<Elem, Tr>
Parametry
Elem
Podstawowy element buforu plików.
Tr
Cechy podstawowego elementu buforu plików (zwykle char_traits<Elem>
).
Uwagi
W przypadku wchar_t
specjalizacji basic_ofstream
zapisu w pliku, jeśli plik jest otwarty w trybie tekstowym, zapisze sekwencję MBCS. Reprezentacja wewnętrzna będzie używać buforu wchar_t
znaków.
Obiekt przechowuje obiekt klasy basic_filebuf< Elem, Tr>
.
Przykład
W poniższym przykładzie pokazano, jak utworzyć basic_ofstream
obiekt i napisać do niego tekst.
// 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();
}
}
Konstruktory
Konstruktor | opis |
---|---|
basic_ofstream |
Tworzy obiekt typu basic_ofstream . |
Funkcje składowe
Funkcja składowa | opis |
---|---|
close |
Zamyka plik. |
is_open |
Określa, czy plik jest otwarty. |
open |
Otwiera plik. |
rdbuf |
Zwraca adres przechowywanego buforu strumienia. |
swap |
Wymień zawartość tego basic_ofstream elementu na zawartość podanego basic_ofstream elementu . |
Operatory
Operator | opis |
---|---|
operator= |
Przypisuje zawartość tego obiektu strumienia. Jest to przypisanie przenoszenia obejmujące element rvalue reference , który nie pozostawia kopii. |
Wymagania
Nagłówek: <fstream>
Przestrzeń nazw: std
basic_ofstream::basic_ofstream
Tworzy obiekt typu 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);
Parametry
_Filename
Nazwa pliku do otwarcia.
_Mode
Jeden z wyliczeń w pliku ios_base::openmode
.
_Prot
Domyślna ochrona otwierania pliku, równoważna parametrowi shflag
w pliku ,_fsopen
_wfsopen
.
right
Odwołanie rvalue do obiektu używanego basic_ofstream
do inicjowania tego basic_ofstream
obiektu.
Uwagi
Pierwszy konstruktor inicjuje klasę bazową, wywołując basic_ostream(sb)
metodę , gdzie sb
jest przechowywanym obiektem klasy basic_filebuf< Elem, Tr>
. Inicjuje sb
się również przez wywołanie metody basic_filebuf
Elem
<, . Tr
>
Drugie i trzecie konstruktory inicjują klasę bazową, wywołując metodę basic_ostream( sb)
. Inicjuje sb
również wywołanie basic_filebuf
<Elem
metody , Tr
> a następnie .sb.open( _Filename, _Mode | ios_base::out)
Jeśli ta ostatnia funkcja zwraca wskaźnik, konstruktor wywołuje metodę NULL
setstate(failbit)
.
Czwarty konstruktor jest funkcją copy. Inicjuje obiekt z zawartością right
, traktowaną jako odwołanie rvalue.
Aby uzyskać więcej informacji, zobacz tematy basic_ostream
, open
oraz setstate
.
Przykład
W poniższym przykładzie pokazano, jak utworzyć basic_ofstream
obiekt i napisać do niego tekst.
// 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
Zamyka plik.
void close();
Uwagi
Funkcja składowa wywołuje funkcję rdbuf->close
. Aby uzyskać więcej informacji, zobacz tematy rdbuf
oraz close
.
Przykład
Zobacz basic_filebuf::close
przykład, który używa elementu close
.
basic_ofstream::is_open
Wskazuje, czy plik jest otwarty.
bool is_open() const;
Wartość zwracana
true
jeśli plik jest otwarty, false
w przeciwnym razie.
Uwagi
Funkcja składowa zwraca wartość rdbuf->is_open
. Aby uzyskać więcej informacji, zobacz tematy rdbuf
oraz is_open
.
Przykład
// 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
Otwiera plik.
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);
Parametry
_Filename
Nazwa pliku do otwarcia.
_Mode
Jeden z wyliczeń w pliku ios_base::openmode
.
_Prot
Domyślna ochrona otwierania pliku, równoważna parametrowi shflag
w pliku ,_fsopen
_wfsopen
.
Uwagi
Funkcja składowa wywołuje funkcję rdbuf -> open(_ Filename, _Mode | ios_base::out)
. Jeśli ta funkcja zwraca NULL
wskaźnik, funkcja wywołuje funkcję setstate(failbit)
.
Aby uzyskać więcej informacji, zobacz tematy rdbuf
, open
oraz setstate
.
Przykład
Zobacz basic_filebuf::open
przykład, który używa elementu open
.
basic_ofstream::operator=
Przypisuje zawartość tego obiektu strumienia. Jest to przypisanie przenoszenia obejmujące element rvalue reference
, który nie pozostawia kopii.
basic_ofstream& operator=(basic_ofstream&& right);
Parametry
right
Odwołanie rvalue do basic_ofstream
obiektu.
Wartość zwracana
Zwraca wartość *this
.
Uwagi
Operator elementu członkowskiego zastępuje zawartość obiektu przy użyciu zawartości right
elementu , traktowanej jako odwołanie rvalue.
basic_ofstream::rdbuf
Zwraca adres przechowywanego buforu strumienia.
basic_filebuf<Elem, Tr> *rdbuf() const
Wartość zwracana
Zwraca adres przechowywanego buforu strumienia.
Przykład
Zobacz basic_filebuf::close
przykład, który używa elementu rdbuf
.
basic_ofstream::swap
Wymienia zawartość dwóch basic_ofstream
obiektów.
void swap(basic_ofstream& right);
Parametry
right
Odwołanie lvalue
do innego basic_ofstream
obiektu.
Uwagi
Funkcja składowa wymienia zawartość tego obiektu dla zawartości right
.
Zobacz też
basic_ostream
Klasa
Bezpieczeństwo wątku w standardowej bibliotece C++
iostream
Programowanie
iostreams
Konwencje