<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
,cerr
veclog
bayt odaklıdır, tek seferde geleneksel bayt aktarımları yapar.wcin
,wcout
,wcerr
vewclog
, 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 wcin
de 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::Init
bir 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 stderr
iliş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ı