money_put::do_put
Eine virtuelle Funktion aufgerufen, um entweder Zahl oder Zeichenfolge in eine Zeichenfolge konvertiert, die einen Währungswert darstellt.
virtual iter_type do_put(
iter_type _Next,
bool _Intl,
ios_base& _Iosbase,
CharType _Fill,
const string_type& _Val
) const;
virtual iter_type do_put(
iter_type _Next,
bool _Intl,
ios_base& _Iosbase,
CharType _Fill,
long double _Val
) const;
Parameter
_Next
Ein Iterator, der das erste Element der eingefügten Zeichenfolge behandelt._Intl
Ein boolescher Wert, der den Typ des Währungssymbols erwartet in der Sequenz angegeben wird: true beim International, false, wenn inländisch._Iosbase
Ein Formatcode der, sofern diese angegeben, dass das Währungssymbol optional ist; Andernfalls befindet es erforderlich_Fill
Ein Zeichen, das für den Abstand verwendet wird._Val
Ein zu konvertierende Zeichenfolgenobjekt.
Rückgabewert
Ein Ausgabeiterator die Adressen, die die Position eine über den letzten Eintrag hinaus hat.
Hinweise
Die erste geschützte virtuelle Memberfunktion generiert die sequenziellen Elemente, die bei _Next beginnen, um ein Währungsausgabefeld vom string_type-Objekt _Val zu erstellen. Die Sequenz, die durch _Val gesteuert wird, muss mit einer oder mehr Dezimalstellen beginnen, optional vorangestellt von einem Minuszeichen (-), das die Menge darstellt. Die Funktion gibt ein Iterator zurück, der das erste Element über dem generierten Währungsausgabefeld hinaus festlegen.
Die zweite geschützte virtuelle Memberfunktion verhält sich genauso wie das erste, dass er effektiv erste konvertiert _Val in eine Sequenz von Dezimalstellen, optional vorangestellt von einem Minuszeichen, dann von den verschiedenen, die wie oben sequenziell ordnen.
Das Format eines Währungsausgabefelds wird durch das Gebietsschemafacet fac festgelegt, die vom zurückgegeben wird (effektiven Aufruf) use_facet <moneypunct<CharType, intl> >(iosbase.getloc).
Dies gilt insbesondere in folgenden Fällen:
fac.pos_format bestimmt die Reihenfolge, in der Komponenten des Felds für einen nicht negative Wert generiert werden.
fac.negative_format bestimmt die Reihenfolge, in der Komponenten des Felds für einen negativen Wert generiert werden.
fac.curr_symbol bestimmt die Sequenz von Elementen, um für ein Währungssymbol zu generieren.
fac.positive_sign bestimmt die Sequenz von Elementen, um auf einen positiven Vorzeichen zu generieren.
fac.negative_sign bestimmt die Sequenz von Elementen, um für ein negatives Vorzeichen zu generieren.
fac.Gruppieren bestimmt, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden.
fac.thousands_sep bestimmt das Element, das Gruppen Ziffern auf der linken Seite eines Dezimaltrennzeichens trennt.
fac.decimal_point bestimmt das Element, das die ganzzahligen Ziffern von allen Bruchsziffern trennt.
fac.frac_digits bestimmt die Anzahl der signifikanten Bruchsziffern auf der rechten Seite eines Dezimaltrennzeichens.
Wenn die Zeichenzeichenfolge (fac.negative_sign oder fac.positive_sign) verfügt über mehr als ein Element, nur das erste Element generiert wird, wobei das Element gleich money_base::sign im Formatmuster angezeigt (fac.neg_format oder fac.pos_format). Alle übrigen Elemente werden am Ende des Währungsausgabefelds generiert.
Wenn iosbase.Flags &showbase ist, die Zeichenfolge fac ungleich 0.curr_symbol generiert wird, wobei das Element gleich money_base::symbol im Formatmuster wird. Andernfalls wird kein Währungssymbol generiert.
Wenn keine Gruppenspalten Einschränkungen durch fac gelten.Gruppierung (erstes Element hat den Wert CHAR_MAX), anschließend keine Instanzen von fac.thousands_sep werden im Wertteil des Währungsausgabefelds generiert (das Element gleich money_base::value im Formatmuster wird). Wenn fac.frac_digits null ist, wird keine Instanz von fac.decimal_point wird nach Dezimalstellen generiert. Andernfalls gibt das resultierende Währungsausgabefeld niederwertige fac.frac_digits Dezimalstellen rechts vom Dezimaltrennzeichen.
Textabstände auftritt was jedes numerische Ausgabefeld anbetrifft, dass wenn iosbase.flags &iosbase.internal ist, jede interne Innenabstand wird generiert ungleich 0 (null), wo das Element gleich money_base::space im Formatmuster wird, wenn es angezeigt wird. Andernfalls tritt interne Innenabstand bevor die generierte Reihenfolge auf. Als Auffüllzeichen ist fill.
Die Funktion iosbase.width(0) zu der Feldbreite auf null zurückgesetzt.
Beispiel
Im Beispiel für Pufferüberlauf, in dem die virtuelle Memberfunktion durch put aufgerufen wird.
Anforderungen
Gebietsschema Header: <>
Namespace: std