Sdílet prostřednictvím


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_ofstreamobsahu .

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 TrElem> 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