Aracılığıyla paylaş


basic_fstream Sınıfı

sınıf basic_filebuf Tr<Elem>bir akış arabelleği kullanarak öğelerin ve kodlanmış nesnelerin eklenmesini ve ayıklandığını denetleyen ve karakter özellikleri sınıfı Trtarafından belirlenen türündeki Elemöğeleri içeren bir nesneyi açıklar.

Sözdizimi

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

Parametreler

Elem
Dosya arabelleğinin temel öğesi.

Tr
Dosya arabelleğinin temel öğesinin özellikleri (genellikle char_traitsElem<>).

Açıklamalar

nesnesi , Tr>sınıfının basic_filebuf<Elembir nesnesini depolar.

Not

Bir fstream nesnesinin get işaretçisi ve put işaretçisi birbirinden bağımsız DEĞİlDİR . Get işaretçisi hareket ederse, yerleştirme işaretçisi de hareket eder.

Örnek

Aşağıdaki örnekte, öğesinden okunabilen ve yazılabilir bir basic_fstream nesnenin nasıl oluşturulacağı gösterilmektedir.

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

Oluşturucular

Oluşturucu Açıklama
basic_fstream türünde basic_fstreambir nesnesi oluşturur.

Üye işlevleri

Üye işlevi Açıklama
close Bir dosyayı kapatır.
is_open Bir dosyanın açık olup olmadığını belirler.
open Bir dosya açar.
rdbuf basic_filebuf Tr>Elem<için işaretçi türündeki depolanan akış arabelleğinin adresini döndürür.
değiş tokuş etmek Bu nesnenin içeriğini başka bir basic_fstream nesnenin içeriğiyle değiştirir.

Gereksinimler

Üst Bilgi:<fstream>

Ad alanı: std

basic_fstream::basic_fstream

türünde basic_fstreambir nesnesi oluşturur.

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

Parametreler

_Dosyaadı
Açılacak dosyanın adı.

_Mod
ios_base::openmode içindeki numaralandırmalardan biri.

_Prot
_fsopen'daki shflag parametresine eşdeğer varsayılan dosya açma koruması _wfsopen.

Açıklamalar

İlk oluşturucu, basic_iostream() çağrısı yaparak temel sınıfı başlatır; burada sb basic_filebuf<Elem, Tr> sınıfının depolanan nesnesidir.sb Ayrıca Elem, Tr'yi> çağırarak<basic_filebuf da başlatılır.sb

İkinci ve üçüncü oluşturucular ( sb) çağrısı basic_iostreamyaparak temel sınıfı başlatır. Ayrıca Elem, Tr> ve sonra sb çağrılarak<basic_filebuf başlatılır. sbopen(_ Dosya Adı, _Mode). İkinci işlev null bir işaretçi döndürürse, oluşturucu setstate()failbit öğesini çağırır.

Dördüncü oluşturucu, nesnesini içeriğiyle rightbaşlatır ve rvalue başvurusu olarak değerlendirilir.

Örnek

kullanan basic_fstreambir örnek için bkz. streampos.

basic_fstream::close

Bir dosyayı kapatır.

void close();

Açıklamalar

Üye işlevi rdbuf-> close öğesini çağırır.

Örnek

nasıl kullanılacağına closeilişkin bir örnek için bkz. basic_filebuf::close.

basic_fstream::is_open

Bir dosyanın açık olup olmadığını belirler.

bool is_open() const;

Dönüş Değeri

true dosya açıksa, false aksi takdirde.

Açıklamalar

Üye işlevi rdbuf-is_open> döndürür.

Örnek

nasıl kullanılacağına is_openilişkin bir örnek için bkz. basic_filebuf::is_open.

basic_fstream::open

Bir dosya açar.

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

Parametreler

_Dosyaadı
Açılacak dosyanın adı.

_Mod
ios_base::openmode içindeki numaralandırmalardan biri.

_Prot
_fsopen'daki shflag parametresine eşdeğer varsayılan dosya açma koruması _wfsopen.

Açıklamalar

Üye işlevi rdbuf -> open(_ Filename, ). _Mode Bu işlev null bir işaretçi döndürürse, işlev setstate( failbit) öğesini çağırır.

Örnek

nasıl kullanılacağına openilişkin bir örnek için bkz. basic_filebuf::open.

basic_fstream::operator=

Belirtilen bir akış nesnesinden içeriği bu nesneye atar. Bu, arkasında bir kopya bırakmayan bir rvalue içeren bir taşıma atamasıdır.

basic_fstream& operator=(basic_fstream&& right);

Parametreler

Sağ
Bir nesneye basic_fstream lvalue başvurusu.

Dönüş Değeri

*this döndürür.

Açıklamalar

Üye işleci, nesnenin içeriğini, rvalue başvurusu olarak değerlendirilen sağ öğesinin içeriğini kullanarak değiştirir.

basic_fstream::rdbuf

basic_filebuf<Elem, Tr> için işaretçi türündeki depolanan akış arabelleğinin adresini döndürür.

basic_filebuf<Elem, Tr> *rdbuf() const

Dönüş Değeri

Depolanan akış arabelleğinin adresi.

Örnek

nasıl kullanılacağına rdbufilişkin bir örnek için bkz. basic_filebuf::close.

basic_fstream::swap

İki basic_fstream nesnenin içeriğini değiştirir.

void swap(basic_fstream& right);

Parametreler

Sağ
Bir lvalue nesneye basic_fstream başvuru.

Açıklamalar

Üye işlevi, bu nesnenin içeriğini ve sağın içeriğini değiştirir.

Ayrıca bkz.

C++ Standart Kitaplığında İş Parçacığı Güvenliği
iostream Programlaması
iostreams Kuralları