Aracılığıyla paylaş


<iostream>

Standart akışlardan okumayı ve bu akışlara yazmayı denetleen nesneleri bildirir. Bu, genellikle C++ programından giriş ve çıkış yapmak için ihtiyacınız olan tek üst bilgidir.

Sözdizimi

#include <iostream>

Not

Kitaplık <iostream> , , #include <streambuf>#include <istream>ve #include <ostream> deyimlerini kullanır#include <ios>.

Açıklamalar

Nesneler iki gruba ayrılır:

  • cin, cout, cerrve clog bayt odaklıdır, tek seferde geleneksel bayt aktarımları yapar.

  • wcin, wcout, wcerrve wclog , programın dahili olarak işlendiği geniş karakterlere ve bu karakterlerden çeviri yaparak geniş odaklıdır.

Bir akışta standart giriş gibi belirli işlemleri gerçekleştirdikten sonra, aynı akışta farklı bir yönlendirmeye sahip işlemler yapamazsınız. Bu nedenle, örneğin, bir program hem hem wcinde cin üzerinde birbirinin yerine çalışamaz.

Bu üst bilgide bildirilen tüm nesneler tuhaf bir özelliği paylaşır; bunların, öğesini içeren <iostream>bir çeviri ünitesinde tanımladığınız statik nesnelerden önce oluşturduğunu varsayabilirsiniz. Aynı şekilde, tanımladığınız statik nesnelerin yıkıcılarından önce bu nesnelerin yok edilmediğini varsayabilirsiniz. (Ancak çıkış akışları, program sonlandırma sırasında boşaltılır.) Bu nedenle, program başlatmadan önce ve program sonlandırıldıktan sonra standart akışlardan güvenle okuyabilir veya yazabilirsiniz.

Ancak bu garanti evrensel değildir. Statik oluşturucu başka bir çeviri birimindeki bir işlevi çağırabilir. Çağrılan işlev, çeviri birimlerinin statik yapıya katılacağı belirsiz sıra göz önünde bulundurularak bu üst bilgide bildirilen nesnelerin oluşturulduğu varsayılamaz. Bu nesneleri bu bağlamda kullanmak için önce sınıfının ios_base::Initbir nesnesini oluşturmanız gerekir.

Genel Akış Nesneleri

Veri Akışı Adı Açıklama
cerr cerr Genel akışı belirtir.
cin cin Genel akışı belirtir.
clog clog Genel akışı belirtir.
cout cout Genel akışı belirtir.
wcerr wcerr Genel akışı belirtir.
wcin wcin Genel akışı belirtir.
wclog wclog Genel akışı belirtir.
wcout wcout Genel akışı belirtir.

cerr

nesnesicerr, içinde bildirilen <cstdio>nesnesiyle stderrilişkilendirilmiş bir akış arabelleğinin çıkışını denetler.

extern ostream cerr;

Dönüş Değeri

Bir ostream nesnesi.

Açıklamalar

nesnesi standart hata çıkışına bayt akışı olarak eklemeleri denetler. Nesnesi oluşturulduğunda, ifadesi cerr.flags & unitbuf sıfır olmayan ve cerr.tie() == &coutşeklindedir. Daha fazla ayrıntı için bkz cerr.flags . ve unitbuf.

Örnek

// 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 Genel akışı belirtir.

extern istream cin;

Dönüş Değeri

Bir istream nesnesi.

Açıklamalar

nesnesi, standart girişten bayt akışı olarak ayıklamaları denetler. Nesnesi oluşturulduğunda çağrısı cin.tie döndürür &cout.

Örnek

Bu örnekte, cin sayısal olmayan karakterlerle karşılaşıldığında akıştaki başarısız biti ayarlar. Program, hata bitini temizler ve devam etmek için geçersiz karakteri akıştan ayırır.

// 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 Genel akışı belirtir.

extern ostream clog;

Dönüş Değeri

Bir ostream nesnesi.

Açıklamalar

Nesne, standart hata çıkışına arabelleğe alınan eklemeleri bayt akışı olarak denetler.

Örnek

kullanma clogörneği için bkzcerr. .

cout

cout Genel akışı belirtir.

extern ostream cout;

Dönüş Değeri

Bir ostream nesnesi.

Açıklamalar

nesnesi, standart çıkışa yapılan eklemeleri bayt akışı olarak denetler.

Örnek

kullanma coutörneği için bkzcerr. .

wcerr

wcerr Genel akışı belirtir.

extern wostream wcerr;

Dönüş Değeri

Bir wostream nesnesi.

Açıklamalar

nesnesi standart hata çıkışına genişletilmemiş eklemeleri geniş bir akış olarak denetler. Nesne oluşturulduğunda, ifade wcerr.flags & unitbuf sıfırdan farklı bir ifadedir. Daha fazla ayrıntı için bkz wcerr.flags . ve unitbuf.

Örnek

kullanma wcerrörneği için bkzcerr. .

wcin

wcin Genel akışı belirtir.

extern wistream wcin;

Dönüş Değeri

Bir wistream nesnesi.

Açıklamalar

nesnesi, standart girişten ayıklamaları geniş bir akış olarak denetler. Nesnesi oluşturulduğunda çağrısı wcin.tie döndürür &wcout.

Örnek

kullanma wcinörneği için bkzcerr. .

wclog

wclog Genel akışı belirtir.

extern wostream wclog;

Dönüş Değeri

Bir wostream nesnesi.

Açıklamalar

Nesne, geniş bir akış olarak standart hata çıkışına arabelleğe alınan eklemeleri denetler.

Örnek

kullanma wclogörneği için bkzcerr. .

wcout

wcout Genel akışı belirtir.

extern wostream wcout;

Dönüş Değeri

Bir wostream nesnesi.

Açıklamalar

Nesnesi, standart çıkışa yapılan eklemeleri geniş bir akış olarak denetler.

Örnek

kullanma wcoutörneği için bkzcerr. .

CString aşağıdaki örnekte gösterildiği gibi bir wcout deyimdeki örneklerin olarak atanması const wchar_t*gerekir.

CString cs("meow");

wcout <<(const wchar_t*) cs <<endl;

Daha fazla bilgi için bkz . Temel CString İşlemleri.

Ayrıca bkz.

Üst Bilgi Dosyaları Başvurusu
C++ Standart Kitaplığında İş Parçacığı Güvenliği
iostream Programlaması
iostreams Kuralları