Udostępnij za pośrednictwem


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 typu locale.

  • Dwie rozszerzalne tablice z elementami typu long i void wskaźnikiem.

Obiekt klasy ios_base przechowuje również informacje o stanie strumienia w obiekcie typu iostatei 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 internalright | 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 decoct | 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_iosklasy .
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_callbackpolecenia . Różne wartości zdarzeń to:

  • copyfmt_event, aby zidentyfikować wywołanie zwrotne, które występuje w pobliżu końca wywołania metody copyfmt, tuż przed skopiowaniem maski wyjątku.

  • erase_event, aby zidentyfikować wywołanie zwrotne, które występuje na początku wywołania metody copyfmt, 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 metody imbue, 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_callbackpolecenia . 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 _Codepodstawie . 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, zobacz setw).

  • 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 typu bool jako nazwy (takie jak true i false), 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 jako internal | left | right

  • basefield, zdefiniowane jako dec | hex | oct

  • floatfield, zdefiniowane jako fixed | 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_iosklasy .

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::copyfmtmetody 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_baseklasy .

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::copyfmtmetody 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 truejest . Gdy trueta 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