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_traits
Elem
<>).
Uwagi
Obiekt przechowuje obiekt klasy basic_filebuf
<Elem
, . Tr
>
Uwaga
Wskaźnik get i umieść wskaźnik obiektu fstream nie są niezależ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_iostream
metody ( 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ą right
elementu , 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