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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk