Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sınıf şablonu, hem giriş akışları (sınıf şablonu) hem de çıkış akışları (sınıf basic_ostreamşablonubasic_istream) için ortak olan ve şablon parametrelerine bağlı olan depolama ve üye işlevlerini açıklar. (Sınıfıios_base, şablon parametrelerine bağımlı olmayan ve yaygın olan şeyleri açıklar.) sınıfının basic_ios<class Elem, class Traits> nesnesi, karakter özellikleri sınıfı Traitstarafından belirlenen türündeki Elemöğelerle bir akışı denetlemeye yardımcı olur.
Sözdizimi
template <class Elem, class Traits>
class basic_ios : public ios_base
Parametreler
Elem
Karakter türü.
Traits
Karakter türü hakkında bilgi sağlayan bir tür, varsayılan olarak olarak char_traits < Elem >gösterilir.
Açıklamalar
Sınıf basic_ios<class Elem, class Traits> depolarının nesnesi:
türünde
basic_istream<Elem, Traits>bir nesneye yönelik bir bağlama işaretçisi.türünde
basic_streambuf<Elem, Traits >bir nesneye yönelik akış arabelleği işaretçisi.türünde
char_typebir nesnede dolgu karakteri.
Daha fazla bilgi için bkz. basic_istream ve basic_streambuf.
Oluşturucular
| Oluşturucu | Açıklama |
|---|---|
basic_ios |
sınıfını basic_ios oluşturur. |
Tür tanımları
| Tür adı | Açıklama |
|---|---|
char_type |
şablon parametresinin Elemeş anlamlısı. |
int_type |
için Traits::int_typebir eş anlamlı. |
off_type |
için Traits::off_typebir eş anlamlı. |
pos_type |
için Traits::pos_typebir eş anlamlı. |
traits_type |
şablon parametresinin Traitseş anlamlısı. |
Üye işlevleri
| Üye işlevi | Açıklama |
|---|---|
bad |
Akış arabelleğinin bütünlüğünün kaybını gösterir. |
clear |
Tüm hata bayraklarını temizler. |
copyfmt |
Bayrakları bir akıştan diğerine kopyalar. |
eof |
Akışın sonuna ulaşılıp ulaşılamadığını gösterir. |
exceptions |
Akış tarafından hangi özel durumların oluşturulacağını gösterir. |
fail |
Bir akıştan geçerli bir alan ayıklanmamasını gösterir. |
fill |
Metin akış kadar geniş olmadığında kullanılacak karakteri belirtir veya döndürür. |
good |
Akışın iyi durumda olduğunu gösterir. |
imbue |
Yerel ayarı değiştirir. |
init |
Oluşturucular tarafından basic_ios çağrılır. |
move |
İşaretçi dışında tüm değerleri akış arabelleğine, parametresinden geçerli nesneye taşır. |
narrow |
Verilen char_typebir ile eşdeğer karakteri bulur. |
rdbuf |
Akışı belirtilen arabelleğe yönlendirir. |
rdstate |
Bayraklar için bitlerin durumunu okur. |
set_rdbuf |
Bu akış nesnesinin okuma arabelleği olması için bir akış arabelleği atar. |
setstate |
Ek bayraklar ayarlar. |
swap |
Bu basic_ios nesnedeki değerleri başka bir basic_ios nesnenin değerleriyle değiştirir. Akış arabelleklerinin işaretçileri değiştirilmez. |
tie |
Bir akışın başka bir akış öncesinde işlenmesini sağlar. |
widen |
Belirli bir karaktere eşdeğeri char_type bulur. |
İşleçler
| Operator | Açıklama |
|---|---|
explicit operator bool |
Bir basic_ios nesnenin olarak boolkullanılmasına izin verir. Yaygın, istenmeyen yan etkileri önlemek için otomatik tür dönüştürme devre dışı bırakıldı. |
operator void * |
Akışın hala iyi olup olmadığını gösterir. |
operator! |
Akışın kötü olup olmadığını gösterir. |
Gereksinimler
Üstbilgi: <ios>
Ad alanı: std
basic_ios::bad
Akış arabelleğinin bütünlüğünün kaybını gösterir
bool bad() const;
Dönüş Değeri
true sıfır rdstate & badbit değilse; değilse false.
hakkında badbitdaha fazla bilgi için bkz ios_base::iostate. .
Örnek
// basic_ios_bad.cpp
// compile with: /EHsc
#include <iostream>
int main( void )
{
using namespace std;
bool b = cout.bad( );
cout << boolalpha;
cout << b << endl;
b = cout.good( );
cout << b << endl;
}
basic_ios::basic_ios
sınıfını basic_ios oluşturur.
explicit basic_ios(basic_streambuf<Elem, Traits>* sb);
basic_ios();
Parametreler
sb
Giriş veya çıkış öğelerini depolamak için standart arabellek.
Açıklamalar
İlk oluşturucu çağırarak init(_ Sb)üye nesnelerini başlatır. İkinci (korumalı) oluşturucu, üye nesnelerini başlatılmamış olarak bırakır. Daha sonra yapılacak bir çağrının güvenli bir şekilde yok edilebilmesi için init önce nesnesini başlatması gerekir.
basic_ios::char_type
şablon parametresinin Elemeş anlamlısı.
typedef Elem char_type;
basic_ios::clear
Tüm hata bayraklarını temizler.
void clear(iostate state = goodbit, bool reraise = false);
void clear(io_state state);
Parametreler
state
(İsteğe bağlı) Tüm bayraklar temizlendikten sonra ayarlamak istediğiniz bayraklar. varsayılan değeridir goodbit.
reraise
(İsteğe bağlı) Özel durumun yeniden tetiklenip yükseltilmeyeceğini belirtir. varsayılan değeridir false (özel durumu yeniden yükseltmez).
Açıklamalar
Bayraklar , , failbiteofbitve badbitşeklindedirgoodbit. , , badeofve ile goodbu bayrakları test edinfail
Üye işlevi, depolanan akış durumu bilgilerini şununla değiştirir:
state | (rdbuf != 0 goodbit : badbit)
Sıfır state&exceptions değilse, sınıfına failureait bir nesnesi oluşturur.
Daha fazla bilgi için bkz. rdbuf ve exceptions.
Örnek
kullanan clearörnekler için bkzrdstate. ve getline .
basic_ios::copyfmt
Bayrakları bir akıştan diğerine kopyalar.
basic_ios<Elem, Traits>& copyfmt(
const basic_ios<Elem, Traits>& right);
Parametreler
right
Bayraklarını kopyalamak istediğiniz akış.
Dönüş Değeri
this Bayrakları kopyaladığınız akışın nesnesi.
Açıklamalar
Üye işlevi geri çağırma olayını erase_eventbildirir. Ardından öğesini dolgu karakterine*this, bağlama işaretçisine ve biçimlendirme bilgilerine kopyalarright. Özel durum maskesini değiştirmeden önce geri çağırma olayını copyfmt_eventbildirir. Kopyalama tamamlandıktan sonra sıfır state&exceptions değilse, işlevi bağımsız değişkeniyle rdstateetkin bir şekilde çağrırclear. döndürür *this.
Örnek
// basic_ios_copyfmt.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
ofstream x( "test.txt" );
int i = 10;
x << showpos;
cout << i << endl;
cout.copyfmt( x );
cout << i << endl;
}
basic_ios::eof
Akışın sonuna ulaşılıp ulaşılamadığını gösterir.
bool eof() const;
Dönüş Değeri
true akışın sonuna ulaşıldıysa, false aksi takdirde.
Açıklamalar
Üye işlevi sıfır değilse döndürür true rdstate & eofbit . hakkında eofbitdaha fazla bilgi için bkz ios_base::iostate. .
Örnek
// basic_ios_eof.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
int main( int argc, char* argv[] )
{
fstream fs;
int n = 1;
fs.open( "basic_ios_eof.txt" ); // an empty file
cout << boolalpha
cout << fs.eof() << endl;
fs >> n; // Read the char in the file
cout << fs.eof() << endl;
}
basic_ios::exceptions
Akış tarafından hangi özel durumların oluşturulacağını gösterir.
iostate exceptions() const;
void exceptions(iostate Newexcept);
void exceptions(io_state Newexcept);
Parametreler
Newexcept
Özel durum atmak istediğiniz bayraklar.
Dönüş Değeri
Şu anda akış için bir özel durum oluşturacak şekilde belirtilen bayraklar.
Açıklamalar
İlk üye işlevi depolanan özel durum maskesini döndürür. İkinci üye işlevi özel durum maskesinde depolar _Except ve önceki depolanmış değerini döndürür. Yeni bir özel durum maskesinin depolanması, çağrısı clear( rdstate ) gibi bir özel durum oluşturabilir.
Örnek
// basic_ios_exceptions.cpp
// compile with: /EHsc /GR
#include <iostream>
int main( )
{
using namespace std;
cout << cout.exceptions( ) << endl;
cout.exceptions( ios::eofbit );
cout << cout.exceptions( ) << endl;
try
{
cout.clear( ios::eofbit ); // Force eofbit on
}
catch ( exception &e )
{
cout.clear( );
cout << "Caught the exception." << endl;
cout << "Exception class: " << typeid(e).name() << endl;
cout << "Exception description: " << e.what() << endl;
}
}
0
1
Caught the exception.
Exception class: class std::ios_base::failure
Exception description: ios_base::eofbit set
basic_ios::fail
Bir akıştan geçerli bir alan ayıklanmamasını gösterir.
bool fail() const;
Dönüş Değeri
true sıfır rdstate & (badbit|failbit) değilse, değilse false.
hakkında failbitdaha fazla bilgi için bkz ios_base::iostate. .
Örnek
// basic_ios_fail.cpp
// compile with: /EHsc
#include <iostream>
int main( void )
{
using namespace std;
bool b = cout.fail( );
cout << boolalpha;
cout << b << endl;
}
basic_ios::fill
Metin akış kadar geniş olmadığında kullanılacak karakteri belirtir veya döndürür.
char_type fill() const;
char_type fill(char_type Char);
Parametreler
Char
Dolgu karakteri olarak istediğiniz karakter.
Dönüş Değeri
Geçerli dolgu karakteri.
Açıklamalar
İlk üye işlevi depolanan doldurma karakterini döndürür. İkinci üye işlevi doldurma karakterinde depolar Char ve önceki depolanmış değerini döndürür.
Örnek
// basic_ios_fill.cpp
// compile with: /EHsc
#include <iostream>
#include <iomanip>
int main( )
{
using namespace std;
cout << setw( 5 ) << 'a' << endl;
cout.fill( 'x' );
cout << setw( 5 ) << 'a' << endl;
cout << cout.fill( ) << endl;
}
a
xxxxa
x
basic_ios::good
Akışın iyi durumda olduğunu gösterir.
bool good() const;
Dönüş Değeri
true ( rdstate == goodbit hiçbir durum bayrağı ayarlanmadıysa), aksi takdirde , false.
hakkında goodbitdaha fazla bilgi için bkz ios_base::iostate. .
Örnek
kullanma goodörneği için bkzbasic_ios::bad. .
basic_ios::imbue
Yerel ayarı değiştirir.
locale imbue(const locale& Loc);
Parametreler
Loc
Yerel ayar dizesi.
Dönüş Değeri
Önceki yerel ayar.
Açıklamalar
bir işaretçi değilse rdbuf NULL , üye işlevi çağırır
rdbuf-> pubimbue(_ Loc)
Her durumda döndürür ios_base::imbue(_ Loc).
Daha fazla bilgi için bkz. pubimbue ve ios_base::imbue.
Örnek
// basic_ios_imbue.cpp
// compile with: /EHsc
#include <iostream>
#include <locale>
int main( )
{
using namespace std;
cout.imbue( locale( "french_france" ) );
double x = 1234567.123456;
cout << x << endl;
}
basic_ios::init
Oluşturucular tarafından basic_ios çağrılır.
void init(basic_streambuf<Elem,Traits>* _Sb, bool _Isstd = false);
Parametreler
_Sb
Giriş veya çıkış öğelerini depolamak için standart arabellek.
_Isstd
Bunun standart bir akış olup olmadığını belirtir.
Açıklamalar
Üye işlevi tüm üye nesnelerinde değerleri depolar, böylece:
rdbufdöndürür_Sb.tiebirNULLişaretçi döndürür.rdstate_Sbsıfır değilse döndürürgoodbit; aksi takdirde döndürürbadbit.exceptionsdöndürürgoodbit.flagsdöndürürskipws | dec. Daha fazla bilgi için bkz.skipwsvedec.width0 döndürür.precision6 döndürür.fillboşluk karakterini döndürür.getlocdöndürürlocale::classic.iwordsıfır döndürür vepwordtüm bağımsız değişken değerleri için birNULLişaretçi döndürür.
basic_ios::int_type
için traits_type::int_typebir eş anlamlı.
typedef typename traits_type::int_type int_type;
basic_ios::move
İşaretçi dışında tüm değerleri akış arabelleğine, parametresinden geçerli nesneye taşır.
void move(basic_ios&& right);
Parametreler
right
ios_base Değerlerin taşınacak nesnesi.
Açıklamalar
Korumalı üye işlevi, içinde değişmeyen right ve içindeki right *this bir NULL işaretçiye *thisayarlanmış olan saklı dışında içinde depolanan stream buffer pointertüm değerleri konumuna taşır. depolanantie pointer, içindeki rightbir NULL işaretçiye ayarlanır.
basic_ios::narrow
Verilen char_typebir ile eşdeğer karakteri bulur.
char narrow(char_type Char, char Default = '\0') const;
Parametreler
Char
char Dönüştürülecek.
Default
Eşdeğeri char bulunamazsa döndürülmesini istediğiniz değer.
Dönüş Değeri
Belirli char_typebir ile eşdeğerdirchar.
Açıklamalar
Üye işlevi döndürür use_facet<ctype<E>>(getloc()).narrow(Char, Default).
Daha fazla bilgi için bkz. use_facet ve getloc.
Örnek
// basic_ios_narrow.cpp
// compile with: /EHsc
#include <ios>
#include <iostream>
#include <wchar.h>
int main( )
{
using namespace std;
wchar_t *x = L"test";
char y[10];
cout << x[0] << endl;
wcout << x << endl;
y[0] = wcout.narrow( x[0] );
cout << y[0] << endl;
}
basic_ios::off_type
için traits_type::off_typebir eş anlamlı.
typedef typename traits_type::off_type off_type;
basic_ios::operator void *
Akışın hala iyi olup olmadığını gösterir.
operator void *() const;
Dönüş Değeri
işleci yalnızca ise failbir NULL işaretçi döndürür.
Örnek
// basic_ios_opgood.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
cout << (bool)(&cout != 0) << endl; // Stream is still good
}
1
basic_ios::operator!
Akışın kötü olup olmadığını gösterir.
bool operator!() const;
Dönüş Değeri
Çağırma ile aynı değeri döndürür basic_ios::fail
Örnek
// basic_ios_opbad.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
cout << !cout << endl; // Stream is not bad
}
0
basic_ios::operator bool
Bir basic_ios nesnenin olarak boolkullanılmasına izin verir. Yaygın, istenmeyen yan etkileri önlemek için otomatik tür dönüştürme devre dışı bırakıldı.
explicit operator bool() const;
Açıklamalar
Akışta hata yoksa döndürür true ; aksi takdirde falsedöndürür.
basic_ios::pos_type
için traits_type::pos_typebir eş anlamlı.
typedef typename traits_type::pos_type pos_type;
basic_ios::rdbuf
Akışı belirtilen arabelleğe yönlendirir.
basic_streambuf<Elem, Traits> *rdbuf() const;
basic_streambuf<Elem, Traits> *rdbuf(
basic_streambuf<Elem, Traits>* _Sb);
Parametreler
_Sb
Bir akış.
Açıklamalar
İlk üye işlevi, depolanan akış arabelleği işaretçisini döndürür.
İkinci üye işlevi depolanan akış arabelleği işaretçisinde depolar _Sb ve daha önce depolanan değeri döndürür.
Örnek
// basic_ios_rdbuf.cpp
// compile with: /EHsc
#include <ios>
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
ofstream file( "rdbuf.txt" );
streambuf *x = cout.rdbuf( file.rdbuf( ) );
cout << "test" << endl; // Goes to file
cout.rdbuf(x);
cout << "test2" << endl;
}
test2
basic_ios::rdstate
Akış hata durumunu okur.
iostate rdstate() const;
Dönüş Değeri
Depolanan akış durumu bilgileri.
Örnek
// basic_ios_rdstate.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
void TestFlags( ios& x )
{
cout << ( x.rdstate( ) & ios::badbit ) << endl;
cout << ( x.rdstate( ) & ios::failbit ) << endl;
cout << ( x.rdstate( ) & ios::eofbit ) << endl;
cout << endl;
}
int main( )
{
fstream x( "c:\test.txt", ios::out );
x.clear( );
TestFlags( x );
x.clear( ios::badbit | ios::failbit | ios::eofbit );
TestFlags( x );
}
0
0
0
4
2
1
basic_ios::setstate
Belirtilen akış hata bayraklarını ayarlar (şu anda ayarlanmış akış hata durumu bayrakları değişmeden kalır):
| flag | Açıklama |
|---|---|
goodbit |
Hata yok |
badbit |
Kurtarılamıyor hatası |
failbit |
G/Ç işlemi biçimlendirme veya ayıklama hatası gibi başarısız oldu |
eofbit |
Stream dosyanın sonuna ulaştı |
void setstate(iostate _State);
Parametreler
_State
Ayarlanacağı ek bayraklar.
Açıklamalar
Üye işlevi temelde öğesini çağırır clear(_ state | rdstate).
Daha fazla bilgi için bkz. clear ve rdstate.
Örnek
// basic_ios_setstate.cpp
// compile with: /EHsc
#include <ios>
#include <iostream>
using namespace std;
int main( )
{
bool b = cout.bad( );
cout << b << endl; // Good
cout.clear( ios::badbit );
b = cout.bad( );
// cout.clear( );
cout << b << endl; // Is bad, good
b = cout.fail( );
cout << b << endl; // Not failed
cout.setstate( ios::failbit );
b = cout.fail( );
cout.clear( );
cout << b << endl; // Is failed, good
return 0;
}
0
1
basic_ios::set_rdbuf
Bu akış nesnesinin okuma arabelleği olması için bir akış arabelleği atar.
void set_rdbuf(
basic_streambuf<Elem, Tr>* strbuf)
Parametreler
strbuf
Okuma arabelleği olmak için akış arabelleği.
Açıklamalar
Korumalı üye işlevi akış arabelleği işaretçisinde depolar strbuf . Çağrılmıyor clear.
basic_ios::tie
Bir akışın başka bir akış öncesinde işlenmesini sağlar.
basic_ostream<Elem, Traits> *tie() const;
basic_ostream<Elem, Traits> *tie(
basic_ostream<Elem, Traits>* str);
Parametreler
str
Bir akış.
Dönüş Değeri
İlk üye işlevi depolanan bağlama işaretçisini döndürür. İkinci üye işlevi, bağlama işaretçisinde depolar str ve önceki depolanmış değerini döndürür.
Açıklamalar
tie iki akışın eşitlenmesine neden olur; örneğin, bir akış üzerindeki işlemler diğer akış üzerindeki işlemler tamamlandıktan sonra gerçekleşir.
Örnek
Aşağıdaki örnekte, öğesine bağlanarakcin, dizenin Enter a number: kendisinden numara ayıklanmadan cinönce konsola gideceği garanti coutedilir. Bu, sayı okunduğunda "Sayı girin:" dizesinin arabellekte hala oturma olasılığını ortadan kaldırır, böylece kullanıcının gerçekten yanıt vermesi gereken bir istem olduğundan eminiz. Varsayılan olarak cin ve cout bağlıdır.
#include <ios>
#include <iostream>
int main( )
{
using namespace std;
int i;
cin.tie( &cout );
cout << "Enter a number:";
cin >> i;
}
basic_ios::traits_type
şablon parametresinin Traitseş anlamlısı.
typedef Traits traits_type;
basic_ios::widen
Belirli charbir ile eşdeğerini char_type bulur.
char_type widen(char Char) const;
Parametreler
Char
Dönüştürülecek karakter.
Dönüş Değeri
Belirli charbir ile eşdeğerini char_type bulur.
Açıklamalar
Üye işlevi döndürür use_facet<ctype<E>>(getloc).widen(Char).
Daha fazla bilgi için bkz. use_facet ve getloc.
Örnek
// basic_ios_widen.cpp
// compile with: /EHsc
#include <ios>
#include <iostream>
#include <wchar.h>
int main( )
{
using namespace std;
char *z = "Hello";
wchar_t y[2] = {0,0};
cout << z[0] << endl;
y[0] = wcout.widen( z[0] );
wcout << &y[0] << endl;
}
basic_ios::swap
Bu basic_ios nesnedeki değerleri başka bir basic_ios nesnenin değerleriyle değiştirir. Ancak, akış arabellekleri işaretçileri değiştirilmez.
void swap(basic_ios&& right);
Parametreler
right
basic_ios Değerleri değiştirmek için kullanılan nesne.
Açıklamalar
Korumalı üye işlevi ile depolanan tüm değerleri depolanmış right *this stream buffer pointerdışında değiştirir.
Ayrıca bkz.
C++ Standart Kitaplığında İş Parçacığı Güvenliği
iostream Programlama
iostreams Kural -ları