Udostępnij za pośrednictwem


basic_fstream — Klasa

Opisuje obiekt, który kontroluje wstawianie i wyodrębnianie elementów oraz zakodowanych obiektów przy użyciu buforu strumienia klasy basic_filebuf<Elem,>Tr , z elementami typu Elem, których cechy znaków są określane przez klasę .Tr

Składnia

template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<Elem, Tr>

Parametry

Elem
Podstawowy element buforu plików.

Tr
Cechy podstawowego elementu buforu plików (zwykle char_traitsElem<>).

Uwagi

Obiekt przechowuje obiekt klasy basic_filebuf<Elem, . Tr>

Uwaga

Wskaźnik get i umieść wskaźnik obiektu fstream nieniezależne od siebie. Jeśli wskaźnik get zostanie przeniesiony, w ten sposób wskaźnik umieścić.

Przykład

W poniższym przykładzie pokazano, jak utworzyć basic_fstream obiekt, z którego można odczytywać i zapisywać.

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

Konstruktory

Konstruktor opis
basic_fstream Tworzy obiekt typu basic_fstream.

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 wskaźnika typu do basic_filebufElem<, . Tr>
zamiana Wymienia zawartość tego obiektu zawartością innego basic_fstream obiektu.

Wymagania

Nagłówek:<fstream>

Przestrzeń nazw: std

basic_fstream::basic_fstream

Tworzy obiekt typu 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);

Parametry

_Pod nazwą
Nazwa pliku do otwarcia.

_Tryb
Jedno z wyliczeń w ios_base::openmode.

_Prot
Domyślna ochrona otwierania pliku równoważna parametrowi shflag w _fsopen _wfsopen.

Uwagi

Pierwszy konstruktor inicjuje klasę bazową, wywołując metodę basic_iostream(sb), gdzie sb jest przechowywanym obiektem klasy basic_filebuf<Elem, Tr.> Inicjuje sb się również przez wywołanie basic_filebuf<Elem, Tr.>

Drugi i trzeci konstruktor inicjuje klasę bazową przez wywołanie basic_iostreammetody ( sb). Inicjuje sb się również przez wywołanie basic_filebuf<Elem, Tr>, a następnie sb.open(_ Nazwa pliku, _Mode). Jeśli ta ostatnia funkcja zwraca wskaźnik o wartości null, konstruktor wywołuje metodę setstate(failbit).

Czwarty konstruktor inicjuje obiekt z zawartością rightelementu , traktowany jako odwołanie rvalue.

Przykład

Zobacz streampos , aby zapoznać się z przykładem, który używa elementu basic_fstream.

basic_fstream::close

Zamyka plik.

void close();

Uwagi

Funkcja składowa wywołuje funkcję rdbuf- > close.

Przykład

Zobacz basic_filebuf::close , aby zapoznać się z przykładem używania elementu close.

basic_fstream::is_open

Określa, 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>.

Przykład

Zobacz basic_filebuf::is_open , aby zapoznać się z przykładem używania elementu is_open.

basic_fstream::open

Otwiera plik.

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);

Parametry

_Pod nazwą
Nazwa pliku do otwarcia.

_Tryb
Jedno z wyliczeń w ios_base::openmode.

_Prot
Domyślna ochrona otwierania pliku równoważna parametrowi shflag w _fsopen _wfsopen.

Uwagi

Funkcja składowa wywołuje rdbuf —> open(_ Nazwa pliku, ). _Mode Jeśli ta funkcja zwraca wskaźnik o wartości null, funkcja wywołuje funkcję setstate( failbit).

Przykład

Zobacz basic_filebuf::open , aby zapoznać się z przykładem korzystania z usługi open.

basic_fstream::operator=

Przypisuje do tego obiektu zawartość z określonego obiektu strumienia. Jest to przypisanie przenoszenia, które obejmuje wartość rvalue, która nie pozostawia kopii.

basic_fstream& operator=(basic_fstream&& right);

Parametry

Prawy
Odwołanie lvalue do basic_fstream obiektu.

Wartość zwracana

Zwraca wartość *this.

Uwagi

Operator elementu członkowskiego zastępuje zawartość obiektu przy użyciu zawartości prawej, traktowanej jako odwołanie rvalue.

basic_fstream::rdbuf

Zwraca adres przechowywanego buforu strumienia wskaźnika typu do basic_filebuf<Elem, Tr.>

basic_filebuf<Elem, Tr> *rdbuf() const

Wartość zwracana

Adres przechowywanego buforu strumienia.

Przykład

Zobacz basic_filebuf::close , aby zapoznać się z przykładem używania elementu rdbuf.

basic_fstream::swap

Wymienia zawartość dwóch basic_fstream obiektów.

void swap(basic_fstream& right);

Parametry

Prawy
Odwołanie lvalue do basic_fstream obiektu.

Uwagi

Funkcja składowa wymienia zawartość tego obiektu i jego zawartość.

Zobacz też

Bezpieczeństwo wątku w standardowej bibliotece C++
iostream, programowanie
Konwencje iostream