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>
Tr
tarafı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();
}
}
Girdi: 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 | Açıklama |
---|---|
basic_ifstream |
Nesnenin yeni bir basic_ifstream örneğini başlatır. |
Ü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 |
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 | Açıklama |
---|---|
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_ifstream
bir 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::openmode
sabit 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 right
başlatır ve başvuru rvalue
olarak değerlendirilir.
Daha fazla bilgi için bkz. basic_istream
, basic_filebuf
, setstate
ve open
.
Örnek
Aşağıdaki örnekte, bir dosyadan metin okuma gösterilmektedir. Dosyayı oluşturmak için örneğine basic_ofstream::basic_ofstream
bakı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 ->close
öğesini çağırır.rdbuf
Örnek
kullanan close
bir örnek için bkzbasic_filebuf::close
. .
basic_ifstream::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 - is_open
>döndürür.rdbuf
Örnek
kullanan is_open
bir ö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::openmode
sabit 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 open
bir ö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.
Dönüş 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 right
kullanarak 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
Dönüş Değeri
Depolanan akış arabelleği temsil eden bir basic_filebuf
nesne işaretçisi.
Örnek
kullanan rdbuf
bir ö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 right
değiştirir.
Ayrıca bkz.
C++ Standart Kitaplığında İş Parçacığı Güvenliği
iostream
Programlama
iostreams
Kural -ları