Aracılığıyla paylaş


basic_ifstream Sınıfı

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

Daha fazla bilgi için bkz. basic_filebuf.

Sözdizimi

template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<Elem, Tr>

Parametreler

Elem
Dosya arabelleğinin temel öğesi.

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

Açıklamalar

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

Örnek

Aşağıdaki örnekte, bir dosyadan metin okuma gösterilmektedir.

// basic_ifstream_class.cpp
// compile with: /EHsc

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    ifstream ifs("basic_ifstream_class.txt");
    if (!ifs.bad())
    {
        // Dump the contents of the file to cout.
        cout << ifs.rdbuf();
        ifs.close();
    }
}

Giriş: basic_ifstream_class.txt

This is the contents of basic_ifstream_class.txt.

Çıktı

This is the contents of basic_ifstream_class.txt.

Oluşturucular

Oluşturucu Tanım
basic_ifstream Nesnenin yeni bir basic_ifstream örneğini başlatır.

Üye işlevleri

Üye işlevi Tanım
close Bir dosyayı kapatır.
is_open Bir dosyanın açık olup olmadığını belirler.
open Bir dosya açar.
rdbuf Depolanan akış arabelleğinin adresini döndürür.
swap Sağlanan basic_ifstreamöğesinin içeriği için bunun basic_ifstream içeriğini değiştirir.

İşleçler

Operator Tanım
operator= Bu akış nesnesinin içeriğini atar. Bu, arkasında bir kopya bırakmayan bir rvalue taşıma atamasıdır.

Gereksinimler

Üstbilgi:<fstream>

Ad alanı:std

basic_ifstream::basic_ifstream

türünde basic_ifstreambir nesnesi oluşturur.

basic_ifstream();

explicit basic_ifstream(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in,
    int _Prot = (int)ios_base::_Openprot);

explicit basic_ifstream(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::in,
    int _Prot = (int)ios_base::_Openprot);

basic_ifstream(basic_ifstream&& right);

Parametreler

_Filename
Açılacak dosyanın adı.

_Mode
içindeki ios_base::openmodesabit listelerinden biri.

_Prot
varsayılan dosya açma koruması, içindeki_wfsopen_fsopen parametresine shflag eşdeğerdir.

Açıklamalar

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

İkinci ve üçüncü oluşturucular çağrısı basic_istream(sb)yaparak temel sınıfı başlatır. Ayrıca çağrısı yaparak basic_filebuf<Elem, Tr>başlatılır sb ve ardından sb.open(_Filename, _Mode | ios_base::in). İkinci işlev null bir işaretçi döndürürse oluşturucu çağırır setstate(failbit).

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

Daha fazla bilgi için bkz. basic_istream, basic_filebuf, setstateve open.

Örnek

Aşağıdaki örnekte, bir dosyadan metin okuma gösterilmektedir. Dosyayı oluşturmak için örneğine basic_ofstream::basic_ofstreambakın.

// basic_ifstream_ctor.cpp
// compile with: /EHsc

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    ifstream ifs("basic_ifstream_ctor.txt");
    if (!ifs.bad())
    {
        // Dump the contents of the file to cout.
        cout << ifs.rdbuf();
        ifs.close();
    }
}

basic_ifstream::close

Bir dosyayı kapatır.

void close();

Açıklamalar

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

Örnek

kullanan closebir örnek için bkzbasic_filebuf::close. .

basic_ifstream::is_open

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

bool is_open() const;

İade Değeri

true dosya açıksa, false aksi takdirde.

Açıklamalar

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

Örnek

kullanan is_openbir örnek için bkzbasic_filebuf::is_open. .

basic_ifstream::open

Bir dosya açar.

void open(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in,
    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,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode);

Parametreler

_Filename
Açılacak dosyanın adı.

_Mode
içindeki ios_base::openmodesabit listelerinden biri.

_Prot
varsayılan dosya açma koruması, içindeki_wfsopen_fsopen parametresine shflag eşdeğerdir.

Açıklamalar

Üye işlevi çağırır rdbuf->open(_Filename, _Mode | ios_base::in). Daha fazla bilgi için bkz. rdbuf ve basic_filebuf::open. Açma işlemi başarısız olursa işlev çağrısında setstate(failbit)bulunur ve bu da bir ios_base::failure özel durum oluşturabilir. Daha fazla bilgi için bkz. setstate.

Örnek

kullanan openbir örnek için bkzbasic_filebuf::open. .

basic_ifstream::operator=

Bu akış nesnesinin içeriğini atar. Bu, arkasında bir kopya bırakmayan bir rvalue taşıma atamasıdır.

basic_ifstream& operator=(basic_ifstream&& right);

Parametreler

right
Bir rvalue nesneye basic_ifstream başvuru.

İade Değeri

*this döndürür.

Açıklamalar

Üye işleci, nesnesinin içeriğini, başvuru olarak rvalue ele alınan içeriğini rightkullanarak değiştirir. Daha fazla bilgi için bkz. Lvalues ve Rvalues.

basic_ifstream::rdbuf

Depolanan akış arabelleğinin adresini döndürür.

basic_filebuf<Elem, Tr> *rdbuf() const

İade Değeri

Depolanan akış arabelleği temsil eden bir basic_filebuf nesne işaretçisi.

Örnek

kullanan rdbufbir örnek için bkzbasic_filebuf::close. .

basic_ifstream::swap

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

void swap(basic_ifstream& right);

Parametreler

right
Başka bir akış arabelleğine başvuru.

Açıklamalar

üye işlevi, bu nesnenin içeriğini içeriğiyle rightdeğiştirir.

Ayrıca bkz.

C++ Standart Kitaplığında İş Parçacığı Güvenliği
iostream Programlama
iostreams Kural -ları