basic_ofstream
Třída
Popisuje objekt, který řídí vložení prvků a kódované objekty do vyrovnávací paměti datového proudu třídy basic_filebuf< Elem, Tr>
, s prvky typu Elem
, jejichž vlastnosti znaku jsou určeny třídou Tr
. Další informace najdete na webu basic_filebuf
.
Syntaxe
template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<Elem, Tr>
Parametry
Elem
Základní prvek vyrovnávací paměti souboru.
Tr
Vlastnosti základního prvku vyrovnávací paměti souboru (obvykle char_traits<Elem>
).
Poznámky
Když se wchar_t
specializace basic_ofstream
zápisů do souboru otevře v textovém režimu, zapíše se sekvence MBCS. Interní reprezentace bude používat vyrovnávací paměť wchar_t
znaků.
Objekt ukládá objekt třídy basic_filebuf< Elem, Tr>
.
Příklad
Následující příklad ukazuje, jak vytvořit basic_ofstream
objekt a napsat do něj text.
// 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 | Popis |
---|---|
basic_ofstream |
Vytvoří objekt typu basic_ofstream . |
Členské funkce
Členová funkce | Popis |
---|---|
close |
Zavře soubor. |
is_open |
Určuje, zda je soubor otevřen. |
open |
Otevře soubor. |
rdbuf |
Vrátí adresu uložené vyrovnávací paměti datového proudu. |
swap |
Vymění obsah tohoto basic_ofstream obsahu poskytnutého basic_ofstream obsahu . |
Operátory
Operátor | Popis |
---|---|
operator= |
Přiřadí obsah tohoto objektu datového proudu. Jedná se o přiřazení přesunutí, které nezanechá rvalue reference kopii. |
Požadavky
Záhlaví: <fstream>
Obor názvů: std
basic_ofstream::basic_ofstream
Vytvoří objekt 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
Název souboru, který se má otevřít.
_Mode
Jeden z výčtů v ios_base::openmode
.
_Prot
Výchozí ochrana při otevírání souboru, která odpovídá parametru shflag
v _fsopen
, _wfsopen
.
right
Rvalue odkaz na basic_ofstream
objekt, který se používá k inicializaci tohoto basic_ofstream
objektu.
Poznámky
První konstruktor inicializuje základní třídu voláním basic_ostream(sb)
, kde sb
je uložený objekt třídy basic_filebuf< Elem, Tr>
. Inicializuje sb
také voláním basic_filebuf
<Elem
, Tr
>.
Druhý a třetí konstruktory inicializují základní třídu voláním basic_ostream( sb)
. Inicializuje sb
se také voláním Tr
Elem
> basic_filebuf
<a pak .sb.open( _Filename, _Mode | ios_base::out)
Pokud druhá funkce vrátí NULL
ukazatel, konstruktor volá setstate(failbit)
.
Čtvrtý konstruktor je funkce kopírování. Inicializuje objekt s obsahem right
, považován za rvalue odkaz.
Další informace najdete v tématech basic_ostream
, open
a setstate
.
Příklad
Následující příklad ukazuje, jak vytvořit basic_ofstream
objekt a napsat do něj text.
// 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
Zavře soubor.
void close();
Poznámky
Členské funkce volá rdbuf->close
. Další informace najdete v tématech rdbuf
a close
.
Příklad
Podívejte basic_filebuf::close
se na příklad, který používá close
.
basic_ofstream::is_open
Určuje, zda je soubor otevřen.
bool is_open() const;
Návratová hodnota
true
pokud je soubor otevřený, false
jinak.
Poznámky
Členová funkce vrátí rdbuf->is_open
. Další informace najdete v tématech rdbuf
a is_open
.
Příklad
// 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
Otevře soubor.
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
Název souboru, který se má otevřít.
_Mode
Jeden z výčtů v ios_base::openmode
.
_Prot
Výchozí ochrana při otevírání souboru, která odpovídá parametru shflag
v _fsopen
, _wfsopen
.
Poznámky
Členské funkce volá rdbuf -> open(_ Filename, _Mode | ios_base::out)
. Pokud tato funkce vrátí NULL
ukazatel, funkce volá setstate(failbit)
.
Další informace najdete v tématech rdbuf
, open
a setstate
.
Příklad
Podívejte basic_filebuf::open
se na příklad, který používá open
.
basic_ofstream::operator=
Přiřadí obsah tohoto objektu datového proudu. Jedná se o přiřazení přesunutí, které nezanechá rvalue reference
kopii.
basic_ofstream& operator=(basic_ofstream&& right);
Parametry
right
Rvalue odkaz na basic_ofstream
objekt.
Návratová hodnota
Vrací objekt *this
.
Poznámky
Operátor člena nahrazuje obsah objektu pomocí obsahu right
, považován za rvalue odkaz.
basic_ofstream::rdbuf
Vrátí adresu uložené vyrovnávací paměti datového proudu.
basic_filebuf<Elem, Tr> *rdbuf() const
Návratová hodnota
Vrátí adresu uložené vyrovnávací paměti datového proudu.
Příklad
Podívejte basic_filebuf::close
se na příklad, který používá rdbuf
.
basic_ofstream::swap
Vymění obsah dvou basic_ofstream
objektů.
void swap(basic_ofstream& right);
Parametry
right
Odkaz lvalue
na jiný basic_ofstream
objekt.
Poznámky
Členová funkce vyměňuje obsah tohoto objektu pro obsah .right
Viz také
basic_ostream
Třída
Bezpečný přístup z více vláken ve standardní knihovně C++
iostream
Programování
iostreams
Konvence