<iostream>
Menyatakan objek yang mengontrol pembacaan dari dan menulis ke aliran standar. Ini termasuk seringkali satu-satunya header yang perlu Anda lakukan input dan output dari program C++.
Sintaksis
#include <iostream>
Catatan
Pustaka <iostream>
menggunakan #include <ios>
pernyataan , #include <streambuf>
, #include <istream>
, dan #include <ostream>
.
Keterangan
Objek jatuh ke dalam dua grup:
cin
, ,cout
cerr
, danclog
berorientasi pada byte, melakukan transfer byte-at-a-time konvensional.wcin
, ,wcout
wcerr
, danwclog
berorientasi luas, menerjemahkan ke dan dari karakter luas yang dimanipulasi program secara internal.
Setelah melakukan operasi tertentu pada aliran, seperti input standar, Anda tidak dapat melakukan operasi orientasi yang berbeda pada aliran yang sama. Oleh karena itu, program tidak dapat beroperasi secara bergantian pada dan cin
wcin
, misalnya.
Semua objek yang dideklarasikan dalam header ini berbagi properti aneh — Anda dapat menganggap objek tersebut dibangun sebelum objek statis apa pun yang Anda tentukan, dalam unit terjemahan yang menyertakan <iostream>
. Sama halnya, Anda dapat berasumsi bahwa objek ini tidak dihancurkan sebelum destruktor untuk objek statis seperti yang Anda tentukan. (Aliran output, bagaimanapun, dihapus selama penghentian program.) Oleh karena itu, Anda dapat dengan aman membaca dari atau menulis ke aliran standar sebelum startup program dan setelah penghentian program.
Namun, jaminan ini tidak universal. Konstruktor statis dapat memanggil fungsi di unit terjemahan lain. Fungsi yang disebut tidak dapat mengasumsikan bahwa objek yang dideklarasikan dalam header ini telah dibangun, mengingat urutan yang tidak pasti di mana unit terjemahan berpartisipasi dalam konstruksi statis. Untuk menggunakan objek ini dalam konteks seperti itu, Anda harus terlebih dahulu membuat objek kelas ios_base::Init
.
Objek Aliran Global
Nama | Deskripsi |
---|---|
cerr |
cerr Menentukan aliran global. |
cin |
cin Menentukan aliran global. |
clog |
clog Menentukan aliran global. |
cout |
cout Menentukan aliran global. |
wcerr |
wcerr Menentukan aliran global. |
wcin |
wcin Menentukan aliran global. |
wclog |
wclog Menentukan aliran global. |
wcout |
wcout Menentukan aliran global. |
cerr
Objek cerr
mengontrol output ke buffer aliran yang terkait dengan objek stderr
, dideklarasikan dalam <cstdio>
.
extern ostream cerr;
Tampilkan Nilai
Sebuah objekostream
.
Keterangan
Objek mengontrol penyisipan yang tidak dibuffer ke output kesalahan standar sebagai aliran byte. Setelah objek dibangun, ekspresinya cerr.flags & unitbuf
bukan nol, dan cerr.tie() == &cout
. Untuk detail selengkapnya, lihat cerr.flags
dan unitbuf
.
Contoh
// iostream_cerr.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
void TestWide( )
{
int i = 0;
wcout << L"Enter a number: ";
wcin >> i;
wcerr << L"test for wcerr" << endl;
wclog << L"test for wclog" << endl;
}
int main( )
{
int i = 0;
cout << "Enter a number: ";
cin >> i;
cerr << "test for cerr" << endl;
clog << "test for clog" << endl;
TestWide( );
}
cin
cin
Menentukan aliran global.
extern istream cin;
Tampilkan Nilai
Sebuah objekistream
.
Keterangan
Objek mengontrol ekstraksi dari input standar sebagai aliran byte. Setelah objek dibangun, panggilan cin.tie
akan mengembalikan &cout
.
Contoh
Dalam contoh ini, cin
mengatur bit gagal pada aliran ketika menemukan karakter non-numerik. Program menghapus bit gagal dan menghapus karakter yang tidak valid dari aliran untuk melanjutkan.
// iostream_cin.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main()
{
int x;
cout << "enter choice:";
cin >> x;
while (x < 1 || x > 4)
{
cout << "Invalid choice, try again:";
cin >> x;
// not a numeric character, probably
// clear the failure and pull off the non-numeric character
if (cin.fail())
{
cin.clear();
char c;
cin >> c;
}
}
}
2
clog
clog
Menentukan aliran global.
extern ostream clog;
Tampilkan Nilai
Sebuah objekostream
.
Keterangan
Objek mengontrol penyisipan buffer ke output kesalahan standar sebagai aliran byte.
Contoh
Lihat cerr
contoh penggunaan clog
.
cout
cout
Menentukan aliran global.
extern ostream cout;
Tampilkan Nilai
Sebuah objekostream
.
Keterangan
Objek mengontrol penyisipan ke output standar sebagai aliran byte.
Contoh
Lihat cerr
contoh penggunaan cout
.
wcerr
wcerr
Menentukan aliran global.
extern wostream wcerr;
Tampilkan Nilai
Objek wostream
.
Keterangan
Objek mengontrol penyisipan yang tidak dibuffer ke output kesalahan standar sebagai aliran lebar. Setelah objek dibangun, ekspresinya wcerr.flags & unitbuf
bukan nol. Untuk detail selengkapnya, lihat wcerr.flags
dan unitbuf
.
Contoh
Lihat cerr
contoh penggunaan wcerr
.
wcin
wcin
Menentukan aliran global.
extern wistream wcin;
Tampilkan Nilai
Objek wistream
.
Keterangan
Objek mengontrol ekstraksi dari input standar sebagai aliran lebar. Setelah objek dibangun, panggilan wcin.tie
akan mengembalikan &wcout
.
Contoh
Lihat cerr
contoh penggunaan wcin
.
wclog
wclog
Menentukan aliran global.
extern wostream wclog;
Tampilkan Nilai
Objek wostream
.
Keterangan
Objek mengontrol penyisipan buffer ke output kesalahan standar sebagai aliran lebar.
Contoh
Lihat cerr
contoh penggunaan wclog
.
wcout
wcout
Menentukan aliran global.
extern wostream wcout;
Tampilkan Nilai
Objek wostream
.
Keterangan
Objek mengontrol penyisipan ke output standar sebagai aliran lebar.
Contoh
Lihat cerr
contoh penggunaan wcout
.
CString
instans dalam wcout
pernyataan harus dilemparkan ke const wchar_t*
, seperti yang ditunjukkan dalam contoh berikut.
CString cs("meow");
wcout <<(const wchar_t*) cs <<endl;
Untuk informasi selengkapnya, lihat Operasi CString Dasar.
Lihat juga
Referensi File Header
Keamanan utas di Pustaka Standar C++
Pemrograman iostream
Konvensi iostreams