Udostępnij za pośrednictwem


num_put::do_put

Funkcję wirtualną, która jest wywoływana w celu przekonwertowania liczby w sekwencji CharTypes, która reprezentuje liczbę sformatowane dla danego ustawienia regionalnego.

virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    bool _Val
) const;
virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    long _Val
) const;
virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    unsigned long _Val
) const;
virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    double _Val
) const;
virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    long double _Val
) const;
virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    const void * _Val
) const;
virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    const long long _Val
) const; virtual iter_type do_put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    const unsigned long long _Val
) const;

Parametry

  • _Next
    Iterację adresowania pierwszy element string wstawionego.

  • _Iosbase
    Określony strumień, który zawiera ustawienia regionalne z aspekt numpunct używany do znak przestankowy, wyjścia i flag do formatowania danych wyjściowych.

  • _Fill
    Znak używany dla odstępów.

  • _Val
    Numer lub typu Boolean, która ma być drukowany.

Wartość zwracana

Iterację wyjścia produkowane jednego stanowiska poza ostatni element adresy.

Uwagi

Pierwsza funkcja wirtualnego chroniony członek generuje kolejne elementy, począwszy od _Next do produkcji polem wyjściowym całkowitą od wartości _Val.Funkcja zwraca iteratora wyznaczający miejsce następnego Wstaw element poza całkowitą wygenerowane pole wyjściowe.

Pole wyjściowe całkowitą jest generowany przez te same reguły używane przez funkcje drukowania generowania serii char elementy do pliku.Mapowania do elementu typu równoważne zakłada, że każdy element char CharType przez mapowanie proste, jeden do jednego.W przypadku, gdy funkcja drukowania jednak pads pole spacjami lub cyfra 0, do_put użyje wypełnienia.Specyfikacja równoważne konwersji wydruku jest ustalana w następujący sposób:

  • Jeśli iosbase. flagi & ios_base::basefield== ios_base::KTZ, specyfikacja konwersji jest lo.

  • Jeśli iosbase.flags & ios_base::basefield == ios_base::hex, specyfikacja konwersji jest lx.

  • W przeciwnym razie specyfikacja konwersji jest ld.

Jeśli iosbase. Szerokość jest poprzedzany jest niezerowa, szerokość pola tej wartości.Wywołuje funkcję iosbase. Szerokość(0), aby zresetować szerokość pola na zero.

Dopełnienie występuje tylko wtedy, gdy minimalna liczba elementów n wymagane, aby określić pole danych wyjściowych jest mniejsza niż iosbase.width.Takie uzupełnienie składa się z sekwencji nSzerokość kopii wypełnienia.Następnie dopełnienie przebiega następująco:

  • Jeśli iosbase. flagi & ios_base::adjustfield== ios_base::left, the flag is prepended.(Dopełnienie występuje po wygenerowanego tekstu).

  • Jeśli iosbase.flags & ios_base::adjustfield == ios_base::wewnętrzny, flaga 0 zabezpieczony.(Pola numeryczne dane wyjściowe, dopełnienie występuje gdy pad funkcje drukowania z 0.)

  • W przeciwnym razie jest poprzedzany nie dodatkowe flagi.(Dopełnienie występuje przed generowanych sekwencji).

Wreszcie:

  • Jeśli iosbase. flagi & ios_base::showpos jest niezerowa, flaga + zabezpieczony specyfikacja konwersji.

  • Jeśli iosbase. flagi & ios_base::showbase jest niezerowa, flaga # zabezpieczony specyfikacja konwersji.

Format całkowitą wyjściowe dalsze ustalona przez pole locale aspektfac zwrócony przez wywołanie use_facet <numpunct<Elem> (iosbase.getloc).W szczególności:

  • fac. grupowania określa sposób grupowania cyfr po lewej stronie przecinka wszelkich

  • fac. thousands_sep Określa sekwencję oddzielający grup cyfr po lewej stronie przecinka wszelkich

Jeśli nie ograniczenia grupowania są nałożone przez fac. grupowania (jego pierwszy element ma wartość CHAR_MAX), następnie nie wystąpień fac.thousands_sep są generowane w polu Wyjście.W przeciwnym razie separatory są wstawiane po konwersji wydruku.

Druga funkcja wirtualnego chroniony członek:

virtual iter_type do_put(iter_type _Next, ios_base& _Iosbase,
    CharType _Fill, unsigned long _Val) const;

zachowuje się tak samo, jak pierwszy, chyba że zastępuje ona specyfikacja konwersji ld z lu.

Trzecią funkcję wirtualnych chroniony członek:

virtual iter_type do_put(iter_type _Next, ios_base& _Iosbase,
    CharType _Fill, double _Val) const;

zachowuje się tak samo, jak pierwszy, chyba że produkuje pola zmiennoprzecinkowego wyjściowe od wartości val.fac. decimal_point Określa sekwencję oddzielający cyfr całkowitą od cyfry ułamka.Specyfikacja równoważne konwersji wydruku jest ustalana w następujący sposób:

  • Jeśli iosbase. flagi & ios_base::floatfield== ios_base::stałej, specyfikacja konwersji jest lf.

  • Jeśli iosbase. flagi & ios_base::floatfield == ios_base::naukowe, specyfikacja konwersji jest le.Jeśli iosbase. flagi & ios_base::Wielka jest niezerowa, e jest zastępowany e.

  • W przeciwnym razie specyfikacja konwersji jest lg.Jeśli iosbase. flagi & ios_base::uppercase jest niezerowa, g jest zastępowany g.

Jeśli iosbase. flagi & ios_base::Fixed jest różna od zera lub jeśli iosbase. precision jest większa od zera, precyzja z wartością iosbase. precision zabezpieczony specyfikacja konwersji.Dopełniającymi działa tak samo, jak pole typu Liczba całkowita wyjściowego.Znak dopełnienie jest wypełnienia.Wreszcie:

  • Jeśli iosbase. flagi & ios_base::showpos jest niezerowa, flaga + zabezpieczony specyfikacja konwersji.

  • Jeśli iosbase. flagi & ios_base::showpoint jest niezerowa, flaga # zabezpieczony specyfikacja konwersji.

Czwarty funkcji wirtualnych chroniony członek:

virtual iter_type do_put(iter_type _Next, ios_base& _Iosbase,
    CharType _Fill, long double _Val) const;

działa tak samo trzeci, z wyjątkiem kwalifikatora l konwersji jest zastępowany specyfikacji l.

Funkcja wirtualnego chroniony członek piąty:

virtual iter_type do_put(iter_type _Next, ios_base& _Iosbase,
    CharType _Fill, const void *_Val) const;

działa tak samo pierwszy, z wyjątkiem, że specyfikacja konwersji jest p**,** plus wszelkich kwalifikator potrzebne do określenia dopełnienie.

Szósty funkcji wirtualnych chroniony członek:

virtual iter_type do_put(iter_type _Next, ios_base& _Iosbase,
    CharType _Fill, bool _Val) const;

zachowuje się tak samo, jak pierwszy, chyba że generuje dane wyjściowe pole z _Val.

Pole wyjściowe przyjmuje jedną z dwóch form.Jeśli iosbase. flagi & ios_base::boolalpha jest false, funkcja Członkowskich zwraca do_put(_Dalej, _Iosbase, _wypełnienia, (długi)_Val), wytwarzająca zazwyczaj generowane sekwencji albo 0 (dla false) lub 1 (dla true).W przeciwnym wypadku wygenerowany sekwencja jest albo fac.falsename) (for false), or fac.truename (for true).

Siódmy funkcji wirtualnych chroniony członek:

virtual iter_type do_put(iter_type next, ios_base& iosbase,
    Elem fill, long long val) const; 

zachowuje się tak samo, jak pierwszy, chyba że zastępuje ona specyfikacja konwersji ld z lld.

Ósmy funkcji wirtualnych chroniony członek:

virtual iter_type do_put(iter_type next, ios_base& iosbase,
    Elem fill, unsigned long long val) const; 

zachowuje się tak samo, jak pierwszy, chyba że zastępuje ona specyfikacja konwersji ld z llu.

Przykład

Zobacz przykład dla put, który wzywa do_put.

Wymagania

Nagłówek: <locale>

Obszar nazw: std

Zobacz też

Informacje

num_put Class