<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, , coutcerr, dan clog berorientasi pada byte, melakukan transfer byte-at-a-time konvensional.

  • wcin, , wcoutwcerr, dan wclog 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 cinwcin, 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.

Baca juga

Referensi File Header
Keamanan utas di Pustaka Standar C++
Pemrograman iostream
Konvensi iostreams