Bagikan melalui


basic_ifstream Kelas

Menjelaskan objek yang mengontrol ekstraksi elemen dan objek yang dikodekan dari buffer aliran kelas basic_filebuf<Elem, Tr>, dengan elemen jenis Elem, yang sifat karakternya ditentukan oleh kelas Tr.

Untuk informasi selengkapnya, lihat basic_filebuf .

Sintaks

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

Parameter

Elem
Elemen dasar buffer file.

Tr
Ciri-ciri elemen dasar buffer file (biasanya char_traits<Elem>).

Keterangan

Objek menyimpan objek kelas basic_filebuf<Elem, Tr>.

Contoh

Contoh berikut menunjukkan cara membaca teks dari file.

// 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();
    }
}

Masukan: basic_ifstream_class.txt

This is the contents of basic_ifstream_class.txt.

Output

This is the contents of basic_ifstream_class.txt.

Konstruktor

Konstruktor Deskripsi
basic_ifstream Menginisialisasi instans basic_ifstream baru objek.

Fungsi anggota

Fungsi anggota Deskripsi
close Menutup berkas.
is_open Menentukan apakah file terbuka.
open Membuka file.
rdbuf Mengembalikan alamat buffer aliran tersimpan.
swap Menukar konten ini basic_ifstream dengan konten yang disediakan basic_ifstream.

Operator

Operator Deskripsi
operator= Menetapkan isi objek aliran ini. Ini adalah penetapan pemindahan yang rvalue melibatkan yang tidak meninggalkan salinan di belakang.

Persyaratan

Header: <fstream>

kumpulan nama XML: std

basic_ifstream::basic_ifstream

Membuat objek jenis basic_ifstream.

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

Parameter

_Filename
Nama file yang akan dibuka.

_Mode
Salah satu enumerasi dalam ios_base::openmode.

_Prot
Perlindungan pembukaan file default, setara dengan shflag parameter di _fsopen, _wfsopen.

Keterangan

Konstruktor pertama menginisialisasi kelas dasar dengan memanggil basic_istream(sb), di mana sb adalah objek kelas basic_filebuf<Elem, Tr>yang disimpan . Ini juga menginisialisasi sb dengan memanggil basic_filebuf<Elem, Tr>.

Konstruktor kedua dan ketiga menginisialisasi kelas dasar dengan memanggil basic_istream(sb). Ini juga menginisialisasi sb dengan memanggil basic_filebuf<Elem, Tr>, lalu sb.open(_Filename, _Mode | ios_base::in). Jika fungsi terakhir mengembalikan penunjuk null, konstruktor akan memanggil setstate(failbit).

Konstruktor keempat menginisialisasi objek dengan konten right, diperlakukan sebagai rvalue referensi.

Untuk informasi selengkapnya, lihat basic_istream, basic_filebuf, setstate, dan open.

Contoh

Contoh berikut menunjukkan cara membaca teks dari file. Untuk membuat file, lihat contoh untuk basic_ofstream::basic_ofstream.

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

Menutup berkas.

void close();

Keterangan

Fungsi anggota memanggil rdbuf -> close.

Contoh

Lihat basic_filebuf::close contoh yang menggunakan close.

basic_ifstream::is_open

Menentukan apakah file terbuka.

bool is_open() const;

Tampilkan Nilai

true jika file terbuka, false jika tidak.

Keterangan

Fungsi anggota mengembalikan rdbuf -> is_open.

Contoh

Lihat basic_filebuf::is_open contoh yang menggunakan is_open.

basic_ifstream::open

Membuka file.

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

Parameter

_Filename
Nama file yang akan dibuka.

_Mode
Salah satu enumerasi dalam ios_base::openmode.

_Prot
Perlindungan pembukaan file default, setara dengan shflag parameter di _fsopen, _wfsopen.

Keterangan

Fungsi anggota memanggil rdbuf->open(_Filename, _Mode | ios_base::in). Untuk informasi lebih lanjut, lihat rdbuf dan basic_filebuf::open. Jika terbuka gagal, fungsi memanggil setstate(failbit), yang dapat melemparkan ios_base::failure pengecualian. Untuk informasi selengkapnya, lihat setstate .

Contoh

Lihat basic_filebuf::open contoh yang menggunakan open.

basic_ifstream::operator=

Menetapkan isi objek aliran ini. Ini adalah penetapan pemindahan yang rvalue melibatkan yang tidak meninggalkan salinan di belakang.

basic_ifstream& operator=(basic_ifstream&& right);

Parameter

right
Referensi rvalue ke basic_ifstream objek.

Tampilkan Nilai

Menampilkan *this.

Keterangan

Operator anggota menggantikan konten objek dengan menggunakan konten right, diperlakukan sebagai rvalue referensi. Untuk informasi lebih lanjut, lihat Lvalues dan Rvalues.

basic_ifstream::rdbuf

Mengembalikan alamat buffer aliran tersimpan.

basic_filebuf<Elem, Tr> *rdbuf() const

Tampilkan Nilai

Penunjuk ke objek yang basic_filebuf mewakili buffer aliran yang disimpan.

Contoh

Lihat basic_filebuf::close contoh yang menggunakan rdbuf.

basic_ifstream::swap

Menukar isi dua basic_ifstream objek.

void swap(basic_ifstream& right);

Parameter

right
Referensi ke buffer aliran lain.

Keterangan

Fungsi anggota bertukar isi objek ini dengan konten right.

Lihat juga

Keamanan utas di Pustaka Standar C++
iostream Pemrograman
iostreams Konvensi