Udostępnij za pośrednictwem


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

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_filebufElem<, . Tr>

Drugie i trzecie konstruktory inicjują klasę bazową, wywołując metodę basic_ostream( sb). Inicjuje sb również wywołanie basic_filebuf<Elemmetody , 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 rightelementu , 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