Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Popisuje objekt, který řídí vkládání a extrakci prvků a kódovaných objektů pomocí vyrovnávací paměti datového proudu třídy ,<Elem s prvky typu Tr, jejichž znakové vlastnosti jsou určeny třídou .>
Syntaxe
template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<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
Objekt ukládá objekt třídy basic_filebuf<Elem, . Tr>
Poznámka:
Get pointer and put pointer of an fstream object are NOT independent of each other. Pokud se ukazatel get přesune, provede to ukazatel vložení.
Příklad
Následující příklad ukazuje, jak vytvořit basic_fstream objekt, který lze číst a zapisovat do.
// 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 | Popis |
|---|---|
| basic_fstream | Vytvoří objekt typu basic_fstream. |
Členské funkce
| Členová funkce | Popis |
|---|---|
| zavřít | Zavře soubor. |
| is_open | Určuje, zda je soubor otevřen. |
| otevřít | Otevře soubor. |
| Rdbuf | Vrátí adresu uložené vyrovnávací paměti datového proudu, ukazatele typu basic_filebuf<Elem, . Tr> |
| vyměnit | Vymění obsah tohoto objektu s obsahem jiného basic_fstream objektu. |
Požadavky
Záhlaví:<fstream>
Obor názvů: std
basic_fstream::basic_fstream
Vytvoří objekt 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
_Jméno souboru
Název souboru, který se má otevřít.
_Režim
Jeden z výčtů v ios_base::openmode.
_Prot
Výchozí ochrana pro otevření souboru, která odpovídá parametru shflag v _fsopen, _wfsopen.
Poznámky
První konstruktor inicializuje základní třídu voláním basic_iostream(), kde je uložený objekt třídy basic_filebufsbsbElem, <.> Inicializuje sb se také voláním basic_filebuf<Elem, Tr.>
Druhý a třetí konstruktory inicializuje základní třídu voláním basic_iostream( sb). Inicializuje sb se také volánímbasic_filebuf< Elem, a pak >open(_ Název souboru, ). Pokud druhá funkce vrátí ukazatel null, konstruktor volá setstate(failbit).
Čtvrtý konstruktor inicializuje objekt s obsahem right, považován za rvalue odkaz.
Příklad
Podívejte se na streampos pro příklad, který používá basic_fstream.
basic_fstream::close
Zavře soubor.
void close();
Poznámky
Členová funkce volá rdbuf->close.
Příklad
basic_fstream::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
Příklad
basic_fstream::open
Otevře soubor.
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
_Jméno souboru
Název souboru, který se má otevřít.
_Režim
Jeden z výčtů v ios_base::openmode.
_Prot
Výchozí ochrana pro otevření souboru, která odpovídá parametru shflag v _fsopen, _wfsopen.
Poznámky
Členová funkce volá rdbuf->open(_ Filename, _Mode). Pokud tato funkce vrátí ukazatel null, funkce volá setstate(failbit).
Příklad
basic_fstream::operator=
Přiřadí tomuto objektu obsah ze zadaného objektu datového proudu. Jedná se o přiřazení přesunutí, které zahrnuje hodnotu rvalue, která nenechá kopii za sebou.
basic_fstream& operator=(basic_fstream&& right);
Parametry
Vpravo
Lvalue odkaz na basic_fstream objekt.
Návratová hodnota
Vrací objekt *this.
Poznámky
Operátor člena nahrazuje obsah objektu použitím obsahu práva, považován za odkaz rvalue.
basic_fstream::rdbuf
Vrátí adresu uložené vyrovnávací paměti datového proudu ukazatele typu basic_filebuf <Elem, Tr.>
basic_filebuf<Elem, Tr> *rdbuf() const
Návratová hodnota
Adresa uložené vyrovnávací paměti datového proudu.
Příklad
basic_fstream::swap
Vymění obsah dvou basic_fstream objektů.
void swap(basic_fstream& right);
Parametry
Vpravo
Odkaz lvalue na basic_fstream objekt.
Poznámky
Členová funkce vyměňuje obsah tohoto objektu a obsah práva.
Viz také
Bezpečný přístup z více vláken ve standardní knihovně C++
iostream – programování
iostreams – konvence