ios_base
Klasa
Klasa opisuje funkcje magazynu i składowe wspólne dla strumieni wejściowych i wyjściowych, które nie zależą od parametrów szablonu. (Szablon basic_ios
klasy opisuje typowe elementy i zależy od parametrów szablonu).
Obiekt klasy ios_base
przechowuje informacje o formatowaniu, które składają się z:
Formatuj flagi w obiekcie typu
fmtflags
.Maska wyjątku w obiekcie typu
iostate
.Szerokość pola w obiekcie typu
int
.Precyzja wyświetlania w obiekcie typu
int
.locale
Obiekt w obiekcie typulocale
.Dwie rozszerzalne tablice z elementami typu
long
ivoid
wskaźnikiem.
Obiekt klasy ios_base
przechowuje również informacje o stanie strumienia w obiekcie typu iostate
i stosie wywołania zwrotnego.
Elementy członkowskie
Konstruktory
Nazwa/nazwisko | opis |
---|---|
ios_base |
Konstruuje ios_base obiekty. |
Typedefs
Nazwa/nazwisko | opis |
---|---|
event_callback |
Opisuje funkcję przekazaną do register_call . |
fmtflags |
Stałe określające wygląd danych wyjściowych. |
iostate |
Definiuje stałe opisujące stan strumienia. |
openmode |
Opisuje sposób interakcji ze strumieniem. |
seekdir |
Określa punkt wyjścia dla operacji przesunięcia. |
Wyliczenia
Nazwa/nazwisko | opis |
---|---|
event |
Określa typy zdarzeń. |
Stałe
Nazwa/nazwisko | opis |
---|---|
adjustfield |
Maska bitów zdefiniowana jako internal right | left | . |
app |
Określa dążenie do końca strumienia przed każdym wstawieniem. |
ate |
Określa dążenie do końca strumienia po pierwszym utworzeniu jego obiektu sterującego. |
badbit |
Rejestruje utratę integralności buforu strumienia. |
basefield |
Maska bitów zdefiniowana jako dec oct | hex | . |
beg |
Określa szukanie względem początku sekwencji. |
binary |
Określa, że plik powinien być odczytywany jako strumień binarny, a nie jako strumień tekstowy. |
boolalpha |
Określa wstawianie lub wyodrębnianie obiektów typu bool jako nazw (takich jak true i false ) zamiast wartości liczbowych. |
cur |
Określa szukanie względem bieżącej pozycji w sekwencji. |
dec |
Określa wstawiania lub wyodrębniania wartości całkowitych w formacie dziesiętny. |
end |
Określa szukanie względem końca sekwencji. |
eofbit |
Rejestruje koniec pliku podczas wyodrębniania ze strumienia. |
failbit |
Rejestruje błąd wyodrębnienia prawidłowego pola ze strumienia. |
fixed |
Określa wstawianie wartości zmiennoprzecinkowych w formacie stałoprzecinkowym (bez pola wykładniczego). |
floatfield |
Maska bitów zdefiniowana jako fixed | scientific |
goodbit |
Wszystkie bity stanu są wyczyszczene. |
hex |
Określa wstawiania lub wyodrębniania wartości całkowitych w formacie szesnastkowym. |
in |
Określa wyodrębnianie ze strumienia. |
internal |
Dopełnia do szerokości pola, wstawiając znaki wypełnienia w punkcie wewnętrznym do wygenerowanego pola liczbowego. |
left |
Określa lewe uzasadnienie. |
oct |
Określa wstawiania lub wyodrębniania wartości całkowitych w formacie ósemkowym. |
out |
Określa wstawienie do strumienia. |
right |
Określa właściwe uzasadnienie. |
scientific |
Określa wstawianie wartości zmiennoprzecinkowych w formacie naukowym (z polem wykładniczym). |
showbase |
Określa wstawienie prefiksu, który ujawnia podstawę wygenerowanego pola liczby całkowitej. |
showpoint |
Określa bezwarunkowe wstawienie punktu dziesiętnego w wygenerowanym polu zmiennoprzecinkowym. |
showpos |
Określa wstawienie znaku plus w nienegacyjnym wygenerowanym polu liczbowym. |
skipws |
Określa pomijanie wiodącego odstępu przed pewnymi wyodrębnianiami. |
trunc |
Określa usuwanie zawartości istniejącego pliku podczas tworzenia jego obiektu sterującego. |
unitbuf |
Powoduje opróżnienie danych wyjściowych po każdym wstawieniu. |
uppercase |
Określa wstawienie wielkich liter w niektórych wstawiania małych liter. |
Funkcje
Nazwa/nazwisko | opis |
---|---|
failure |
Klasa składowa służy jako klasa bazowa dla wszystkich wyjątków zgłaszanych przez funkcję składową wyczyszaną w szablonie basic_ios klasy . |
flags |
Ustawia lub zwraca bieżące ustawienia flagi. |
getloc |
Zwraca przechowywany locale obiekt. |
imbue |
Zmienia ustawienia regionalne. |
Init |
Tworzy standardowe iostream obiekty podczas konstruowania. |
iword |
Przypisuje wartość do przechowywania jako .iword |
precision |
Określa liczbę cyfr do wyświetlenia w liczbie zmiennoprzecinkowej. |
pword |
Przypisuje wartość do przechowywania jako pword . |
register_callback |
Określa funkcję wywołania zwrotnego. |
setf |
Ustawia określone flagi. |
sync_with_stdio |
Gwarantuje, że iostream operacje biblioteki czasu wykonywania języka C są wykonywane w kolejności, w której są wyświetlane w kodzie źródłowym. |
unsetf |
Powoduje wyłączenie określonych flag. |
width |
Ustawia długość strumienia wyjściowego. |
xalloc |
Określa, że zmienna jest częścią strumienia. |
Operatory
Nazwa/nazwisko | opis |
---|---|
operator= |
Operator przypisania dla ios_base obiektów. |
Wymagania
Nagłówek: <ios>
Przestrzeń nazw: std
event
Określa typy zdarzeń.
enum event {
erase_event,
imbue_event,
copyfmt_event};
Uwagi
Typ jest wyliczonym typem opisujący obiekt, który może przechowywać zdarzenie wywołania zwrotnego używane jako argument funkcji zarejestrowanej za pomocą register_callback
polecenia . Różne wartości zdarzeń to:
copyfmt_event
, aby zidentyfikować wywołanie zwrotne, które występuje w pobliżu końca wywołania metodycopyfmt
, tuż przed skopiowaniem maski wyjątku.erase_event
, aby zidentyfikować wywołanie zwrotne, które występuje na początku wywołania metodycopyfmt
, lub na początku wywołania destruktora dla .*this
imbue_event
, aby zidentyfikować wywołanie zwrotne, które występuje na końcu wywołania metodyimbue
, tuż przed zwróceniem funkcji.
Przykład
Zobacz register_callback
przykład.
event_callback
Opisuje funkcję przekazaną do register_call
.
typedef void (__cdecl *event_callback)(
event _E,
ios_base& _Base,
int _I);
Parametry
_E
event
.
_Base
Strumień, w którym wywoływano zdarzenie.
_I
Liczba zdefiniowana przez użytkownika.
Uwagi
Typ opisuje wskaźnik do funkcji, którą można zarejestrować za pomocą register_callback
polecenia . Ten typ funkcji nie może zgłaszać wyjątku.
Przykład
Zobacz register_call
przykład, który używa elementu event_callback
.
failure
Klasa failure
definiuje klasę bazową dla typów wszystkich obiektów zgłaszanych jako wyjątki przez funkcje w iostreams
bibliotece w celu zgłaszania błędów wykrytych podczas operacji buforowania strumienia.
namespace std {
class failure : public system_error {
public:
explicit failure(
const string& _Message,
const error_code& _Code = io_errc::stream);
explicit failure(
const char* str,
const error_code& _Code = io_errc::stream);
};
}
Uwagi
Wartość zwracana przez what()
element jest kopią _Message
, prawdopodobnie rozszerzoną o test na _Code
podstawie . Jeśli _Code
nie zostanie określony, wartość domyślna to make_error_code(io_errc::stream)
.
Przykład
// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.exceptions(ios::failbit);
try
{
file.open( "rm.txt", ios_base::in );
// Opens nonexistent file for reading
}
catch( ios_base::failure f )
{
cout << "Caught an exception: " << f.what() << endl;
}
}
Caught an exception: ios_base::failbit set
flags
Ustawia lub zwraca bieżące ustawienia flagi.
fmtflags flags() const;
fmtflags flags(fmtflags fmtfl);
Parametry
fmtfl
Nowe fmtflags
ustawienie.
Wartość zwracana
Poprzednie lub bieżące fmtflags
ustawienie.
Uwagi
Zobacz ios_base::fmtflags
listę flag.
Pierwsza funkcja składowa zwraca flagi formatu przechowywanego. Druga funkcja składowa przechowuje fmtfl
flagi formatu i zwraca poprzednią przechowywaną wartość.
Przykład
// ios_base_flags.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
cout << cout.flags( ) << endl;
cout.flags( ios::dec | ios::boolalpha );
cout << cout.flags( );
}
513
16896
fmtflags
Stałe określające wygląd danych wyjściowych.
class ios_base {
public:
typedef implementation-defined-bitmask-type fmtflags;
static const fmtflags boolalpha;
static const fmtflags dec;
static const fmtflags fixed;
static const fmtflags hex;
static const fmtflags internal;
static const fmtflags left;
static const fmtflags oct;
static const fmtflags right;
static const fmtflags scientific;
static const fmtflags showbase;
static const fmtflags showpoint;
static const fmtflags showpos;
static const fmtflags skipws;
static const fmtflags unitbuf;
static const fmtflags uppercase;
static const fmtflags adjustfield;
static const fmtflags basefield;
static const fmtflags floatfield;
// ...
};
Uwagi
Obsługuje manipulatory w programie ios
.
Typ to typ maski bitowej, który opisuje obiekt, który może przechowywać flagi formatu. Unikatowe wartości flagi (elementy) to:
dec
, aby wstawić lub wyodrębnić wartości całkowite w formacie dziesiętny.hex
, aby wstawić lub wyodrębnić wartości całkowite w formacie szesnastkowym.oct
, aby wstawić lub wyodrębnić wartości całkowite w formacie ósemkowym.showbase
, aby wstawić prefiks, który ujawnia podstawę wygenerowanego pola liczby całkowitej.internal
, aby uzupełnić do szerokości pola zgodnie z potrzebami, wstawiając znaki wypełnienia w punkcie wewnętrznym do wygenerowanego pola liczbowego. (Aby uzyskać informacje na temat ustawiania szerokości pola, zobaczsetw
).left
, aby uzupełnić do szerokości pola zgodnie z potrzebami, wstawiając znaki wypełnienia na końcu wygenerowanego pola (lewe uzasadnienie).right
, aby uzupełnić szerokość pola zgodnie z potrzebami, wstawiając znaki wypełnienia na początku wygenerowanego pola (odpowiednie uzasadnienie).boolalpha
, aby wstawić lub wyodrębnić obiekty typubool
jako nazwy (takie jaktrue
ifalse
), a nie jako wartości liczbowe.fixed
, aby wstawić wartości zmiennoprzecinkowe w formacie stałego punktu (bez pola wykładnika).scientific
, aby wstawić wartości zmiennoprzecinkowe w formacie naukowym (z polem wykładniczym).showpoint
, aby wstawić bezwzględnie punkt dziesiętny w wygenerowanym polu zmiennoprzecinkowym.showpos
, aby wstawić znak plusa w polu liczbowym wygenerowanym bez działania.skipws
, aby pominąć wiodące odstępy przed niektórymi wyodrębnianiami.unitbuf
, aby opróżnić dane wyjściowe po każdym wstawieniu.uppercase
, w celu wstawienia wielkich liter małych liter w niektórych wstawień.
Ponadto kilka przydatnych wartości to:
adjustfield
, maska bitów zdefiniowana jakointernal
|left
|right
basefield
, zdefiniowane jakodec
|hex
|oct
floatfield
, zdefiniowane jakofixed
|scientific
Przykłady funkcji modyfikujących te flagi formatu można znaleźć w temacie <iomanip>
.
getloc
Zwraca przechowywany locale
obiekt.
locale getloc() const;
Wartość zwracana
Przechowywany locale
obiekt.
Przykład
// ios_base_getlock.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
cout << cout.getloc( ).name( ).c_str( ) << endl;
}
C
imbue
Zmienia ustawienia regionalne.
locale imbue(const locale& _Loc);
Parametry
_Loc
Nowe ustawienie ustawień regionalnych.
Wartość zwracana
Poprzednie ustawienia regionalne.
Uwagi
Funkcja składowa przechowuje _Loc
w locale
obiekcie, a następnie zgłasza zdarzenie wywołania zwrotnego i imbue_event
. Zwraca poprzednią przechowywaną wartość.
Przykład
Zobacz, aby zapoznać się basic_ios::imbue
z przykładem.
Init
Tworzy standardowe iostream
obiekty podczas konstruowania.
class Init { };
Uwagi
Klasa zagnieżdżona opisuje obiekt, którego konstrukcja gwarantuje, że standardowe iostream
obiekty są prawidłowo skonstruowane, nawet przed wykonaniem konstruktora dla dowolnego obiektu statycznego.
ios_base
Konstruuje ios_base
obiekty.
ios_base();
Uwagi
Konstruktor (chroniony) nic nie robi. Późniejsze wywołanie inicjowania musi zainicjować basic_ios::
obiekt, zanim będzie można go bezpiecznie zniszczyć. W związku z tym jedynym bezpiecznym użyciem klasy ios_base
jest jako klasa bazowa dla szablonu basic_ios
klasy .
iostate
Typ stałych opisujących stan strumienia.
class ios_base {
public:
typedef implementation-defined-bitmask-type iostate;
static const iostate badbit;
static const iostate eofbit;
static const iostate failbit;
static const iostate goodbit;
// ...
};
Uwagi
Typ jest typem maski bitowej, który opisuje obiekt, który może przechowywać informacje o stanie strumienia. Unikatowe wartości flagi (elementy) to:
badbit
, aby zarejestrować utratę integralności buforu strumienia.eofbit
, aby zarejestrować koniec pliku podczas wyodrębniania ze strumienia.failbit
, aby zarejestrować błąd wyodrębnienia prawidłowego pola ze strumienia.
Ponadto przydatną wartością jest goodbit
, gdzie żaden z wcześniej wymienionych bitów nie jest ustawiony (goodbit
ma gwarancję, że zero).
iword
Przypisuje wartość do przechowywania jako .iword
long& iword(int idx);
Parametry
idx
Indeks wartości do przechowywania jako .iword
Uwagi
Funkcja składowa zwraca odwołanie do idx elementu rozszerzalnej tablicy z elementami typu long
. Wszystkie elementy są skutecznie obecne i początkowo przechowują wartość zero. Zwrócone odwołanie jest nieprawidłowe po następnym wywołaniu obiektu, po zmianie obiektu przez wywołanie iword
basic_ios::
copyfmt
metody lub po zniszczeniu obiektu.
Jeśli idx
jest ujemny lub unikatowy magazyn jest niedostępny dla elementu, funkcja wywołuje setstate
(badbit)
i zwraca odwołanie, które może nie być unikatowe.
Aby uzyskać unikatowy indeks, do użycia we wszystkich obiektach typu ios_base
, wywołaj metodę xalloc
.
Przykład
Zobacz xalloc
, aby zapoznać się z przykładem sposobu używania elementu iword
.
openmode
Opisuje sposób interakcji ze strumieniem.
class ios_base {
public:
typedef implementation-defined-bitmask-type openmode;
static const openmode in;
static const openmode out;
static const openmode ate;
static const openmode app;
static const openmode trunc;
static const openmode binary;
// ...
};
Uwagi
Tryb otwierania dla kilku iostream
obiektów. Wartości flagi to:
Stała | Efekt |
---|---|
app |
Wyszukiwanie na końcu strumienia przed każdym zapisem |
ate |
Wyszukiwanie na końcu strumienia natychmiast po otwarciu |
binary |
Otwórz w trybie binarnym. (Zobacz fopen opis trybu binarnego). |
in |
Otwórz do czytania |
out |
Otwórz do zapisu |
trunc |
Usuń zawartość pliku po otwarciu |
Przykład
// ios_base_openmode.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
}
operator=
Operator przypisania dla ios_base
obiektów.
ios_base& operator=(const ios_base& right);
Parametry
right
Obiekt typu ios_base
.
Wartość zwracana
Obiekt, do który jest przypisywany.
Uwagi
Operator kopiuje przechowywane informacje o formatowaniu, tworząc nową kopię dowolnych rozszerzalnych tablic. Następnie zwraca wartość *this
. Stos wywołań zwrotnych nie jest kopiowany.
Ten operator jest używany tylko przez klasy pochodzące z ios_base
klasy .
precision
Określa liczbę cyfr do wyświetlenia w liczbie zmiennoprzecinkowej.
streamsize precision() const;
streamsize precision(streamsize _Prec);
Parametry
_Prec
Liczba cyfr znaczących do wyświetlenia lub liczba cyfr po przecinku dziesiętnego w notacji stałej.
Wartość zwracana
Pierwsza funkcja składowa zwraca przechowywaną precyzję wyświetlania. Druga funkcja składowa przechowuje _Prec
precyzję wyświetlania i zwraca poprzednią przechowywaną wartość.
Uwagi
Liczby zmiennoprzecinkowe są wyświetlane w stałej notacji z fixed
.
Przykład
// ios_base_precision.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
float i = 31.31234F;
cout.precision( 3 );
cout << i << endl; // display three significant digits
cout << fixed << i << endl; // display three digits after decimal
// point
}
31.3
31.312
pword
Przypisuje wartość do przechowywania jako pword
.
void *& pword(int index);
Parametry
index
Indeks wartości do przechowywania jako pword
.
Uwagi
Funkcja składowa zwraca odwołanie do indeksu elementów rozszerzalnej tablicy z elementami wskaźnika typuvoid
. Wszystkie elementy są skutecznie obecne i początkowo przechowują wskaźnik o wartości null. Zwrócone odwołanie jest nieprawidłowe po następnym wywołaniu obiektu, po zmianie obiektu przez wywołanie pword
basic_ios::
copyfmt
metody lub po zniszczeniu obiektu.
Jeśli indeks jest ujemny lub unikatowy magazyn jest niedostępny dla elementu, funkcja wywołuje setstate
(badbit)
i zwraca odwołanie, które może nie być unikatowe.
Aby uzyskać unikatowy indeks, do użycia we wszystkich obiektach typu ios_base
, wywołaj metodę xalloc
.
Przykład
Zobacz xalloc
przykład użycia elementu pword
.
register_callback
Określa funkcję wywołania zwrotnego.
void register_callback(
event_callback pfn, int idx);
Parametry
pfn
Wskaźnik do funkcji wywołania zwrotnego.
idx
Liczba zdefiniowana przez użytkownika.
Uwagi
Funkcja składowa wypycha parę {pfn, idx}
do przechowywanego stosu wywołania zwrotnego wywołania zwrotnego. Gdy zgłaszane jest zdarzenie wywołania zwrotnego ev , funkcje są wywoływane w odwrotnej kolejności rejestru przez wyrażenie (*pfn)(ev, *this, idx)
.
Przykład
// ios_base_register_callback.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
void callback1( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback1" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
};
}
void callback2( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback2" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
};
}
int main( )
{
// Make sure the imbue will not throw an exception
// assert( setlocale( LC_ALL, "german" )!=NULL );
cout.register_callback( callback1, 0 );
cin.register_callback( callback2, 0 );
try
{
// If no exception because the locale's not found,
// generate an imbue_event on callback1
cout.imbue(locale("german"));
}
catch(...)
{
cout << "exception" << endl;
}
// This will
// (1) erase_event on callback1
// (2) copyfmt_event on callback2
cout.copyfmt(cin);
// We get two erase events from callback2 at the end because
// both cin and cout have callback2 registered when cin and cout
// are destroyed at the end of program.
}
in callback1
an imbue event
in callback1
an erase event
in callback2
an copyfmt event
in callback2
an erase event
in callback2
an erase event
seekdir
Określa punkt wyjścia dla operacji przesunięcia.
namespace std {
class ios_base {
public:
typedef implementation-defined-enumerated-type seekdir;
static const seekdir beg;
static const seekdir cur;
static const seekdir end;
// ...
};
}
Uwagi
Typ jest typem wyliczanym, który opisuje obiekt, który może przechowywać tryb wyszukiwania używany jako argument do funkcji składowych kilku iostream
klas. Unikatowe wartości flagi to:
beg
, aby wyszukać (zmienić bieżącą pozycję odczytu lub zapisu) względem początku sekwencji (tablica, strumień lub plik).cur
, do wyszukiwania względem bieżącej pozycji w sekwencji.end
, aby szukać względem końca sekwencji.
Przykład
// ios_base_seekdir.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
file.seekp( 0, ios_base::beg );
file << "a";
file.seekp( 0, ios_base::end );
file << "a";
}
setf
Ustawia określone flagi.
fmtflags setf(
fmtflags _Mask
);
fmtflags setf(
fmtflags _Mask,
fmtflags _Unset
);
Parametry
_Mask
Flagi do włączenia.
_Unset
Flagi, które mają być wyłączone.
Wartość zwracana
Poprzednie flagi formatu
Uwagi
Pierwsza funkcja składowa skutecznie wywołuje flags(_Mask | _Flags)
(ustaw wybrane bity), a następnie zwraca poprzednie flagi formatu. Druga funkcja składowa skutecznie wywołuje flags(_Mask & fmtfl, flags & ~_Mask)
(zastąp wybrane bity maską), a następnie zwraca poprzednie flagi formatu.
Przykład
// ios_base_setf.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
int i = 10;
cout << i << endl;
cout.unsetf( ios_base::dec );
cout.setf( ios_base::hex );
cout << i << endl;
cout.setf( ios_base::dec );
cout << i << endl;
cout.setf( ios_base::hex, ios_base::dec );
cout << i << endl;
}
sync_with_stdio
Gwarantuje, że iostream
operacje biblioteki czasu wykonywania języka C są wykonywane w kolejności, w której są wyświetlane w kodzie źródłowym.
static bool sync_with_stdio(
bool _Sync = true
);
Parametry
_Sync
Czy wszystkie strumienie są zsynchronizowane z usługą stdio
.
Wartość zwracana
Poprzednie ustawienie dla tej funkcji.
Uwagi
Statyczna funkcja składowa przechowuje flagę stdio
synchronizacji, która początkowo true
jest . Gdy true
ta flaga gwarantuje, że operacje w tym samym pliku są prawidłowo synchronizowane między funkcjami iostreams
i funkcjami zdefiniowanymi w standardowej bibliotece języka C++. W przeciwnym razie synchronizacja może być gwarantowana, ale wydajność może zostać zwiększona. Funkcja przechowuje _Sync
flagę stdio
synchronizacji i zwraca poprzednią przechowywaną wartość. Można go niezawodnie wywoływać tylko przed wykonaniem jakichkolwiek operacji na standardowych strumieniach.
unsetf
Wyłącza określone flagi.
void unsetf(
fmtflags _Mask
);
Parametry
_Mask
Flagi, które chcesz wyłączyć.
Uwagi
Funkcja składowa skutecznie wywołuje flags(~_Mask & flags)
(wyczyść zaznaczone bity).
Przykład
Zobacz ios_base::setf
, aby zapoznać się z przykładem użycia elementu unsetf
.
width
Ustawia długość strumienia wyjściowego.
streamsize width( ) const;
streamsize width(
streamsize _Wide
);
Parametry
_Wide
Żądany rozmiar strumienia wyjściowego.
Wartość zwracana
Bieżące ustawienie szerokości.
Uwagi
Pierwsza funkcja składowa zwraca szerokość przechowywanego pola. Druga funkcja składowa przechowuje _Wide
szerokość pola i zwraca poprzednią przechowywaną wartość.
Przykład
// ios_base_width.cpp
// compile with: /EHsc
#include <iostream>
int main( ) {
using namespace std;
cout.width( 20 );
cout << cout.width( ) << endl;
cout << cout.width( ) << endl;
}
20
0
xalloc
Określa, że zmienna jest częścią strumienia.
static int xalloc( );
Wartość zwracana
Funkcja statycznego elementu członkowskiego zwraca przechowywaną wartość statyczną, która zwiększa się w każdym wywołaniu.
Uwagi
Wartość zwracaną można użyć jako unikatowego argumentu indeksu podczas wywoływania funkcji iword
składowych lub pword
.
Przykład
// ios_base_xalloc.cpp
// compile with: /EHsc
// Lets you store user-defined information.
// iword, jword, xalloc
#include <iostream>
int main( )
{
using namespace std;
static const int i = ios_base::xalloc();
static const int j = ios_base::xalloc();
cout.iword( i ) = 11;
cin.iword( i ) = 13;
cin.pword( j ) = "testing";
cout << cout.iword( i ) << endl;
cout << cin.iword( i ) << endl;
cout << ( char * )cin.pword( j ) << endl;
}
11
13
testing
Zobacz też
Bezpieczeństwo wątku w standardowej bibliotece C++
iostream, programowanie
Konwencje iostream