ios_base
Kelas
Kelas ini menjelaskan fungsi penyimpanan dan anggota yang umum untuk aliran input dan output yang tidak bergantung pada parameter templat. (Templat basic_ios
kelas menjelaskan apa yang umum dan bergantung pada parameter templat.)
Objek kelas ios_base
menyimpan informasi pemformatan, yang terdiri dari:
Format bendera dalam objek jenis
fmtflags
.Masker pengecualian dalam objek jenis
iostate
.Lebar bidang dalam objek jenis
int
.Presisi tampilan dalam objek jenis
int
.Objek
locale
dalam objek jenislocale
.Dua array yang dapat diperluas, dengan elemen jenis
long
danvoid
penunjuk.
Objek kelas ios_base
juga menyimpan informasi status aliran, dalam objek jenis iostate
, dan tumpukan panggilan balik.
Anggota
Konstruktor
Nama | Deskripsi |
---|---|
ios_base |
Membuat ios_base objek. |
Typedefs
Nama | Deskripsi |
---|---|
event_callback |
Menjelaskan fungsi yang diteruskan ke register_call . |
fmtflags |
Konstanta untuk menentukan tampilan output. |
iostate |
Menentukan konstanta yang menjelaskan status aliran. |
openmode |
Menjelaskan cara berinteraksi dengan aliran. |
seekdir |
Menentukan titik awal untuk operasi offset. |
Enums
Nama | Deskripsi |
---|---|
event |
Menentukan jenis peristiwa. |
Konstanta
Nama | Deskripsi |
---|---|
adjustfield |
Bitmask didefinisikan sebagai internal right | left | . |
app |
Menentukan pencarian ke akhir aliran sebelum setiap penyisipan. |
ate |
Menentukan pencarian ke akhir aliran saat objek pengontrolnya pertama kali dibuat. |
badbit |
Mencatat hilangnya integritas buffer aliran. |
basefield |
Bitmask didefinisikan sebagai dec oct | hex | . |
beg |
Menentukan pencarian relatif terhadap awal urutan. |
binary |
Menentukan bahwa file harus dibaca sebagai aliran biner, bukan sebagai aliran teks. |
boolalpha |
Menentukan penyisipan atau ekstraksi objek jenis bool sebagai nama (seperti true dan false ) daripada sebagai nilai numerik. |
cur |
Menentukan pencarian relatif terhadap posisi saat ini dalam urutan. |
dec |
Menentukan penyisipan atau ekstraksi nilai bilangan bulat dalam format desimal. |
end |
Menentukan pencarian relatif terhadap akhir urutan. |
eofbit |
Merekam akhir file saat mengekstrak dari aliran. |
failbit |
Merekam kegagalan untuk mengekstrak bidang yang valid dari aliran. |
fixed |
Menentukan penyisipan nilai floating-point dalam format titik tetap (tanpa bidang eksponen). |
floatfield |
Bitmask didefinisikan sebagai fixed | scientific |
goodbit |
Semua bit status bersih. |
hex |
Menentukan penyisipan atau ekstraksi nilai bilangan bulat dalam format heksadesimal. |
in |
Menentukan ekstraksi dari aliran. |
internal |
Bantalan ke lebar bidang dengan menyisipkan karakter isian pada titik internal ke bidang numerik yang dihasilkan. |
left |
Menentukan justifikasi kiri. |
oct |
Menentukan penyisipan atau ekstraksi nilai bilangan bulat dalam format oktal. |
out |
Menentukan penyisipan ke aliran. |
right |
Menentukan justifikasi yang tepat. |
scientific |
Menentukan penyisipan nilai floating-point dalam format ilmiah (dengan bidang eksponen). |
showbase |
Menentukan penyisipan awalan yang mengungkapkan dasar bidang bilangan bulat yang dihasilkan. |
showpoint |
Menentukan penyisipan tanpa syarat dari titik desimal dalam bidang floating-point yang dihasilkan. |
showpos |
Menentukan penyisipan tanda plus dalam bidang numerik yang dihasilkan nonnegatif. |
skipws |
Menentukan melewati spasi kosong di depan sebelum ekstraksi tertentu. |
trunc |
Menentukan penghapusan isi file yang ada ketika objek pengontrolnya dibuat. |
unitbuf |
Menyebabkan output dibersihkan setelah setiap penyisipan. |
uppercase |
Menentukan penyisipan huruf besar yang setara dengan huruf kecil dalam penyisipan tertentu. |
Fungsi
Nama | Deskripsi |
---|---|
failure |
Kelas anggota berfungsi sebagai kelas dasar untuk semua pengecualian yang dilemparkan oleh fungsi anggota yang jelas dalam templat basic_ios kelas . |
flags |
Mengatur atau mengembalikan pengaturan bendera saat ini. |
getloc |
Mengembalikan objek tersimpan locale . |
imbue |
Mengubah lokal. |
Init |
Membuat objek standar iostream saat dibangun. |
iword |
Menetapkan nilai untuk disimpan sebagai iword . |
precision |
Menentukan jumlah digit yang akan ditampilkan dalam angka floating-point. |
pword |
Menetapkan nilai untuk disimpan sebagai pword . |
register_callback |
Menentukan fungsi panggilan balik. |
setf |
Mengatur bendera yang ditentukan. |
sync_with_stdio |
Memastikan bahwa iostream dan operasi pustaka run-time C terjadi dalam urutan muncul dalam kode sumber. |
unsetf |
Menyebabkan bendera yang ditentukan nonaktif. |
width |
Mengatur panjang aliran output. |
xalloc |
Menentukan bahwa variabel harus menjadi bagian dari aliran. |
Operator
Nama | Deskripsi |
---|---|
operator= |
Operator penugasan untuk ios_base objek. |
Persyaratan
Header: <ios>
kumpulan nama XML: std
event
Menentukan jenis peristiwa.
enum event {
erase_event,
imbue_event,
copyfmt_event};
Keterangan
Jenisnya adalah jenis enumerasi yang menjelaskan objek yang dapat menyimpan peristiwa panggilan balik yang digunakan sebagai argumen ke fungsi yang terdaftar dengan register_callback
. Nilai peristiwa yang berbeda adalah:
copyfmt_event
, untuk mengidentifikasi panggilan balik yang terjadi di dekat akhir panggilan kecopyfmt
, tepat sebelum masker pengecualian disalin.erase_event
, untuk mengidentifikasi panggilan balik yang terjadi di awal panggilan kecopyfmt
, atau di awal panggilan ke destruktor untuk*this
.imbue_event
, untuk mengidentifikasi panggilan balik yang terjadi di akhir panggilan keimbue
, tepat sebelum fungsi kembali.
Contoh
Lihat register_callback
sebagai contoh.
event_callback
Menjelaskan fungsi yang diteruskan ke register_call
.
typedef void (__cdecl *event_callback)(
event _E,
ios_base& _Base,
int _I);
Parameter
_E
event
.
_Base
Aliran tempat peristiwa dipanggil.
_I
Nomor yang ditentukan pengguna.
Keterangan
Jenis ini menjelaskan penunjuk ke fungsi yang dapat didaftarkan dengan register_callback
. Jenis fungsi ini tidak boleh melemparkan pengecualian.
Contoh
Lihat register_call
contoh yang menggunakan event_callback
.
failure
Kelas failure
mendefinisikan kelas dasar untuk jenis semua objek yang dilemparkan sebagai pengecualian, oleh fungsi di iostreams
pustaka, untuk melaporkan kesalahan yang terdeteksi selama operasi buffer aliran.
namespace std {
class failure : public system_error {
public:
explicit failure(
const string& _Message,
const error_code& _Code = io_errc::stream);
explicit failure(
const char* str,
const error_code& _Code = io_errc::stream);
};
}
Keterangan
Nilai yang dikembalikan oleh what()
adalah salinan , _Message
mungkin bertambah dengan pengujian berdasarkan _Code
. Jika _Code
tidak ditentukan, nilai defaultnya adalah make_error_code(io_errc::stream)
.
Contoh
// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.exceptions(ios::failbit);
try
{
file.open( "rm.txt", ios_base::in );
// Opens nonexistent file for reading
}
catch( ios_base::failure f )
{
cout << "Caught an exception: " << f.what() << endl;
}
}
Caught an exception: ios_base::failbit set
flags
Mengatur atau mengembalikan pengaturan bendera saat ini.
fmtflags flags() const;
fmtflags flags(fmtflags fmtfl);
Parameter
fmtfl
Pengaturan baru fmtflags
.
Tampilkan Nilai
Pengaturan sebelumnya atau saat ini fmtflags
.
Keterangan
Lihat ios_base::fmtflags
untuk daftar bendera.
Fungsi anggota pertama mengembalikan bendera format tersimpan. Fungsi anggota kedua disimpan fmtfl
dalam bendera format dan mengembalikan nilai tersimpan sebelumnya.
Contoh
// ios_base_flags.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
cout << cout.flags( ) << endl;
cout.flags( ios::dec | ios::boolalpha );
cout << cout.flags( );
}
513
16896
fmtflags
Konstanta untuk menentukan tampilan output.
class ios_base {
public:
typedef implementation-defined-bitmask-type fmtflags;
static const fmtflags boolalpha;
static const fmtflags dec;
static const fmtflags fixed;
static const fmtflags hex;
static const fmtflags internal;
static const fmtflags left;
static const fmtflags oct;
static const fmtflags right;
static const fmtflags scientific;
static const fmtflags showbase;
static const fmtflags showpoint;
static const fmtflags showpos;
static const fmtflags skipws;
static const fmtflags unitbuf;
static const fmtflags uppercase;
static const fmtflags adjustfield;
static const fmtflags basefield;
static const fmtflags floatfield;
// ...
};
Keterangan
Mendukung manipulator di ios
.
Jenisnya adalah jenis bitmask yang menjelaskan objek yang dapat menyimpan bendera format. Nilai bendera (elemen) yang berbeda adalah:
dec
, untuk menyisipkan atau mengekstrak nilai bilangan bulat dalam format desimal.hex
, untuk menyisipkan atau mengekstrak nilai bilangan bulat dalam format heksadesimal.oct
, untuk menyisipkan atau mengekstrak nilai bilangan bulat dalam format oktal.showbase
, untuk menyisipkan awalan yang mengungkapkan dasar bidang bilangan bulat yang dihasilkan.internal
, untuk pad ke lebar bidang sesuai kebutuhan dengan menyisipkan karakter isian pada titik internal ke bidang numerik yang dihasilkan. (Untuk informasi tentang mengatur lebar bidang, lihatsetw
).left
, untuk pad ke lebar bidang sesuai kebutuhan dengan menyisipkan karakter isian di akhir bidang yang dihasilkan (pembenaran kiri).right
, untuk pad ke lebar bidang sesuai kebutuhan dengan menyisipkan karakter isian di awal bidang yang dihasilkan (pertimbangan kanan).boolalpha
, untuk menyisipkan atau mengekstrak objek jenisbool
sebagai nama (sepertitrue
danfalse
) daripada sebagai nilai numerik.fixed
, untuk menyisipkan nilai floating-point dalam format titik tetap (tanpa bidang eksponen).scientific
, untuk menyisipkan nilai floating-point dalam format ilmiah (dengan bidang eksponen).showpoint
, untuk menyisipkan titik desimal tanpa syarat di bidang floating-point yang dihasilkan.showpos
, untuk menyisipkan tanda plus di bidang numerik yang dihasilkan nonnegatif.skipws
, untuk melewati spasi kosong di depan sebelum ekstraksi tertentu.unitbuf
, untuk menghapus output setelah setiap penyisipan.uppercase
, untuk menyisipkan huruf besar yang setara dengan huruf kecil dalam penyisipan tertentu.
Selain itu, beberapa nilai yang berguna adalah:
adjustfield
, bitmask yang didefinisikan sebagaiinternal
|left
|right
basefield
, didefinisikan sebagaidec
|hex
|oct
floatfield
, didefinisikan sebagaifixed
|scientific
Untuk contoh fungsi yang memodifikasi bendera format ini, lihat <iomanip>
.
getloc
Mengembalikan objek tersimpan locale
.
locale getloc() const;
Tampilkan Nilai
Objek tersimpan locale
.
Contoh
// ios_base_getlock.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
cout << cout.getloc( ).name( ).c_str( ) << endl;
}
C
imbue
Mengubah lokal.
locale imbue(const locale& _Loc);
Parameter
_Loc
Pengaturan lokal baru.
Tampilkan Nilai
Lokal sebelumnya.
Keterangan
Fungsi anggota disimpan _Loc
di locale
objek lalu melaporkan peristiwa panggilan balik dan imbue_event
. Ini mengembalikan nilai tersimpan sebelumnya.
Contoh
Lihat basic_ios::imbue
untuk sampel.
Init
Membuat objek standar iostream
saat dibangun.
class Init { };
Keterangan
Kelas berlapis menjelaskan objek yang konstruksinya memastikan bahwa objek standar iostream
dibangun dengan benar, bahkan sebelum eksekusi konstruktor untuk objek statis sewenang-wenang.
ios_base
Membuat ios_base
objek.
ios_base();
Keterangan
Konstruktor (dilindungi) tidak melakukan apa pun. Panggilan selanjutnya ke basic_ios::
init harus menginisialisasi objek sebelum dapat dihancurkan dengan aman. Dengan demikian, satu-satunya penggunaan yang aman untuk kelas ios_base
adalah sebagai kelas dasar untuk templat basic_ios
kelas .
iostate
Jenis konstanta yang menjelaskan status aliran.
class ios_base {
public:
typedef implementation-defined-bitmask-type iostate;
static const iostate badbit;
static const iostate eofbit;
static const iostate failbit;
static const iostate goodbit;
// ...
};
Keterangan
Jenisnya adalah jenis bitmask yang menjelaskan objek yang dapat menyimpan informasi status aliran. Nilai bendera (elemen) yang berbeda adalah:
badbit
, untuk merekam hilangnya integritas buffer aliran.eofbit
, untuk merekam akhir file saat mengekstrak dari aliran.failbit
, untuk merekam kegagalan mengekstrak bidang yang valid dari aliran.
Selain itu, nilai yang berguna adalah goodbit
, di mana tidak ada bit yang disebutkan sebelumnya yang ditetapkan (goodbit
dijamin nol).
iword
Menetapkan nilai untuk disimpan sebagai iword
.
long& iword(int idx);
Parameter
idx
Indeks nilai yang akan disimpan sebagai iword
.
Keterangan
Fungsi anggota mengembalikan referensi ke idx elemen dari array yang dapat diperluas dengan elemen jenis long
. Semua elemen hadir secara efektif dan awalnya menyimpan nilai nol. Referensi yang dikembalikan tidak valid setelah panggilan berikutnya ke iword
untuk objek, setelah objek diubah oleh panggilan ke basic_ios::
copyfmt
, atau setelah objek dihancurkan.
Jika idx
negatif atau jika penyimpanan unik tidak tersedia untuk elemen , fungsi memanggil setstate
(badbit)
dan mengembalikan referensi yang mungkin tidak unik.
Untuk mendapatkan indeks unik, untuk digunakan di semua objek jenis ios_base
, panggil xalloc
.
Contoh
Lihat xalloc
untuk sampel cara menggunakan iword
.
openmode
Menjelaskan cara berinteraksi dengan aliran.
class ios_base {
public:
typedef implementation-defined-bitmask-type openmode;
static const openmode in;
static const openmode out;
static const openmode ate;
static const openmode app;
static const openmode trunc;
static const openmode binary;
// ...
};
Keterangan
Mode pembukaan untuk beberapa iostream
objek. Nilai bendera adalah:
Terus-menerus | Efek |
---|---|
app |
Mencari ke akhir aliran sebelum setiap penulisan |
ate |
Mencari ke akhir aliran segera setelah terbuka |
binary |
Buka dalam mode biner. (Lihat fopen untuk deskripsi mode biner.) |
in |
Buka untuk membaca |
out |
Buka untuk menulis |
trunc |
Menghapus konten file setelah dibuka |
Contoh
// ios_base_openmode.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
}
operator=
Operator penugasan untuk ios_base
objek.
ios_base& operator=(const ios_base& right);
Parameter
right
Objek jenis ios_base
.
Tampilkan Nilai
Objek yang ditetapkan.
Keterangan
Operator menyalin informasi pemformatan tersimpan, membuat salinan baru dari array yang dapat diperluas. Kemudian mengembalikan *this
. Tumpukan panggilan balik tidak disalin.
Operator ini hanya digunakan oleh kelas yang berasal dari ios_base
.
precision
Menentukan jumlah digit yang akan ditampilkan dalam angka floating-point.
streamsize precision() const;
streamsize precision(streamsize _Prec);
Parameter
_Prec
Jumlah digit signifikan untuk ditampilkan, atau jumlah digit setelah titik desimal dalam notasi tetap.
Tampilkan Nilai
Fungsi anggota pertama mengembalikan presisi tampilan tersimpan. Fungsi anggota kedua disimpan _Prec
dalam presisi tampilan dan mengembalikan nilai tersimpan sebelumnya.
Keterangan
Angka floating-point ditampilkan dalam notasi tetap dengan fixed
.
Contoh
// ios_base_precision.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
float i = 31.31234F;
cout.precision( 3 );
cout << i << endl; // display three significant digits
cout << fixed << i << endl; // display three digits after decimal
// point
}
31.3
31.312
pword
Menetapkan nilai untuk disimpan sebagai pword
.
void *& pword(int index);
Parameter
index
Indeks nilai yang akan disimpan sebagai pword
.
Keterangan
Fungsi anggota mengembalikan referensi ke indeks elemen array yang dapat diperluas dengan elemen penunjuk jenisvoid
. Semua elemen hadir secara efektif dan awalnya menyimpan pointer null. Referensi yang dikembalikan tidak valid setelah panggilan berikutnya ke pword
untuk objek, setelah objek diubah oleh panggilan ke basic_ios::
copyfmt
, atau setelah objek dihancurkan.
Jika indeks negatif, atau jika penyimpanan unik tidak tersedia untuk elemen , fungsi memanggil setstate
(badbit)
dan mengembalikan referensi yang mungkin tidak unik.
Untuk mendapatkan indeks unik, untuk digunakan di semua objek jenis ios_base
, panggil xalloc
.
Contoh
Lihat xalloc
contoh penggunaan pword
.
register_callback
Menentukan fungsi panggilan balik.
void register_callback(
event_callback pfn, int idx);
Parameter
pfn
Penunjuk ke fungsi panggilan balik.
idx
Nomor yang ditentukan pengguna.
Keterangan
Fungsi anggota mendorong pasangan {pfn, idx}
ke tumpukan panggilan balik tumpukan panggilan balik yang disimpan. Ketika ev peristiwa panggilan balik dilaporkan, fungsi dipanggil, dalam urutan terbalik registri, oleh ekspresi (*pfn)(ev, *this, idx)
.
Contoh
// ios_base_register_callback.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
void callback1( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback1" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
};
}
void callback2( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback2" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
};
}
int main( )
{
// Make sure the imbue will not throw an exception
// assert( setlocale( LC_ALL, "german" )!=NULL );
cout.register_callback( callback1, 0 );
cin.register_callback( callback2, 0 );
try
{
// If no exception because the locale's not found,
// generate an imbue_event on callback1
cout.imbue(locale("german"));
}
catch(...)
{
cout << "exception" << endl;
}
// This will
// (1) erase_event on callback1
// (2) copyfmt_event on callback2
cout.copyfmt(cin);
// We get two erase events from callback2 at the end because
// both cin and cout have callback2 registered when cin and cout
// are destroyed at the end of program.
}
in callback1
an imbue event
in callback1
an erase event
in callback2
an copyfmt event
in callback2
an erase event
in callback2
an erase event
seekdir
Menentukan titik awal untuk operasi offset.
namespace std {
class ios_base {
public:
typedef implementation-defined-enumerated-type seekdir;
static const seekdir beg;
static const seekdir cur;
static const seekdir end;
// ...
};
}
Keterangan
Jenisnya adalah jenis enumerasi yang menjelaskan objek yang dapat menyimpan mode pencarian yang digunakan sebagai argumen untuk fungsi anggota dari beberapa iostream
kelas. Nilai bendera yang berbeda adalah:
beg
, untuk mencari (mengubah posisi baca atau tulis saat ini) relatif terhadap awal urutan (array, stream, atau file).cur
, untuk mencari relatif terhadap posisi saat ini dalam urutan.end
, untuk mencari relatif terhadap akhir urutan.
Contoh
// ios_base_seekdir.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
file.seekp( 0, ios_base::beg );
file << "a";
file.seekp( 0, ios_base::end );
file << "a";
}
setf
Mengatur bendera yang ditentukan.
fmtflags setf(
fmtflags _Mask
);
fmtflags setf(
fmtflags _Mask,
fmtflags _Unset
);
Parameter
_Mask
Bendera yang akan dinyalakan.
_Unset
Bendera yang akan dimatikan.
Tampilkan Nilai
Bendera format sebelumnya
Keterangan
Fungsi anggota pertama secara efektif memanggil flags(_Mask | _Flags)
(mengatur bit yang dipilih) lalu mengembalikan bendera format sebelumnya. Fungsi anggota kedua secara efektif memanggil flags(_Mask & fmtfl, flags & ~_Mask)
(mengganti bit yang dipilih di bawah masker) lalu mengembalikan bendera format sebelumnya.
Contoh
// ios_base_setf.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
int i = 10;
cout << i << endl;
cout.unsetf( ios_base::dec );
cout.setf( ios_base::hex );
cout << i << endl;
cout.setf( ios_base::dec );
cout << i << endl;
cout.setf( ios_base::hex, ios_base::dec );
cout << i << endl;
}
sync_with_stdio
Memastikan bahwa iostream
dan operasi pustaka run-time C terjadi dalam urutan muncul dalam kode sumber.
static bool sync_with_stdio(
bool _Sync = true
);
Parameter
_Sync
Apakah semua aliran sinkron dengan stdio
.
Tampilkan Nilai
Pengaturan sebelumnya untuk fungsi ini.
Keterangan
Fungsi anggota statis menyimpan stdio
bendera sinkronisasi, yang awalnya true
adalah . Ketika true
, bendera ini memastikan bahwa operasi pada file yang sama disinkronkan dengan benar antara iostreams
fungsi dan fungsi yang ditentukan dalam Pustaka Standar C++. Jika tidak, sinkronisasi mungkin atau mungkin tidak dijamin, tetapi performa dapat ditingkatkan. Fungsi disimpan _Sync
dalam stdio
bendera sinkronisasi dan mengembalikan nilai tersimpan sebelumnya. Anda dapat menyebutnya dengan andal hanya sebelum melakukan operasi apa pun pada aliran standar.
unsetf
Menonaktifkan bendera yang ditentukan.
void unsetf(
fmtflags _Mask
);
Parameter
_Mask
Bendera yang ingin Anda nonaktifkan.
Keterangan
Fungsi anggota secara efektif memanggil flags(~_Mask & flags)
(bersihkan bit yang dipilih).
Contoh
Lihat ios_base::setf
untuk sampel penggunaan unsetf
.
width
Mengatur panjang aliran output.
streamsize width( ) const;
streamsize width(
streamsize _Wide
);
Parameter
_Wide
Ukuran aliran output yang diinginkan.
Tampilkan Nilai
Pengaturan lebar saat ini.
Keterangan
Fungsi anggota pertama mengembalikan lebar bidang yang disimpan. Fungsi anggota kedua disimpan _Wide
di lebar bidang dan mengembalikan nilai tersimpan sebelumnya.
Contoh
// ios_base_width.cpp
// compile with: /EHsc
#include <iostream>
int main( ) {
using namespace std;
cout.width( 20 );
cout << cout.width( ) << endl;
cout << cout.width( ) << endl;
}
20
0
xalloc
Menentukan bahwa variabel adalah bagian dari aliran.
static int xalloc( );
Tampilkan Nilai
Fungsi anggota statis mengembalikan nilai statis tersimpan, yang meningkat pada setiap panggilan.
Keterangan
Anda dapat menggunakan nilai pengembalian sebagai argumen indeks unik saat memanggil fungsi iword
anggota atau pword
.
Contoh
// ios_base_xalloc.cpp
// compile with: /EHsc
// Lets you store user-defined information.
// iword, jword, xalloc
#include <iostream>
int main( )
{
using namespace std;
static const int i = ios_base::xalloc();
static const int j = ios_base::xalloc();
cout.iword( i ) = 11;
cin.iword( i ) = 13;
cin.pword( j ) = "testing";
cout << cout.iword( i ) << endl;
cout << cin.iword( i ) << endl;
cout << ( char * )cin.pword( j ) << endl;
}
11
13
testing
Lihat juga
Keamanan utas di Pustaka Standar C++
Pemrograman iostream
Konvensi iostreams
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