num_get::do_get
Eine virtuelle Funktion, die den Auszügen ein numerisches oder ein boolescher Wert aus einer Zeichenfolge aufgerufen wird.
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long& _Val
) const;virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned short& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned int& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned long& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long long& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned long long& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
float& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
double& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long double& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
void *& _Val
) const;
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
bool& _Val
) const;
Parameter
_First
Der Anfang des Bereichs von denen der Zeichen, um die Zahl zu lesen._Last
Das Ende des Bereichs von denen der Zeichen, um die Zahl zu lesen._Iosbase
ios_base, dessen Flags durch die Konvertierung verwendet werden._State
Der Zustand, zu dem failbit (siehe) ios_base::iostate nach Fehler hinzugefügt wird._Val
Der gelesene Wert.
Rückgabewert
Der Iterator nach dem Wert ist gelesen wurde.
Hinweise
Die erste geschützte virtuelle Memberfunktion,
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long& _Val
) const;
entspricht der sequenziellen Elemente ab, die bei _First in der Sequenz [_First,_Last) beginnen, bis ein vollständiges, nicht leeren ganze Eingabefeld erkannt hat.Wenn erfolgreich, konvertiert sie dieses Feld in den entsprechenden - Wert als Typ long, und speichert das Ergebnis in _Val.Sie gibt einen Iterator zurück, der das erste Element über dem numerischen Eingabefeld hinaus festgelegt wird.Andernfalls speichert die Funktion nichts in _Val und legt ios_base::failbit in state fest.Sie gibt einen Iterator zurück, der das erste Element zu jedem Präfix eines gültigen ganzzahligen Eingabefelds hinaus festgelegt wird.In jedem Fall der Rückgabewert last entspricht, wird die Funktion ios_base::eofbit in state fest.
Das ganzzahlige Eingabefeld wird durch die gleichen Regeln konvertiert, die von der Überprüfungsfunktionen für Vergleiche und das Konvertieren von char-Elemente aus einer Datei verwendet werden.(Die einzelnen char-Element wird angenommen, dass zu einem entsprechenden Element des Typs Elem zuzuordnen durch ein einfaches, ein 1:1-Zuordnung und ordnet zu.) Die entsprechende ÜberprüfungsUmwandlungsangabe wird bestimmt, wie folgt:
Wenn iosbase.ios_base::flags() & ios_base::basefield == ios_base::Okt, die Umwandlungsangabe lo ist.
Wenn iosbase.flags() & ios_base::basefield == ios_base::hex, die Umwandlungsangabe lx ist.
Wenn iosbase.flags() & ios_base::basefield == 0, die Umwandlungsangabe li ist.
Andernfalls ist die Umwandlungsangabe ld.
Das Format des ganzzahligen Eingabefelds ist durch Gebietsschemafacetfac weitere entschlossenes, das durch den Aufruf use_facet<numpunct<Elem>(iosbase.ios_base::getloc()) zurückgegeben wird.Dies gilt insbesondere in folgenden Fällen:
fac.numpunct::grouping() bestimmt, wie Ziffern auf der linken Seite eines beliebigen Dezimaltrennzeichen gruppiert werden
fac.numpunct::thousands_sep() bestimmt die Reihenfolge, die Zahlengruppen auf der linken Seite eines beliebigen Dezimaltrennzeichen trennt.
Wenn keine Instanzen von fac.thousands_sep() im numerischen Eingabefeld auftreten, wird keine gruppierende Einschränkung erzwingt.Andernfalls werden alle Gruppenspalten Einschränkungen, die von fac.grouping() erzwingt, erzwungen und Trennzeichen werden entfernt, bevor die Überprüfungskonvertierung auftritt.
Die vierte geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned long& _Val
) const;
verhält sich genauso wie das erste, außer dass ersetzt eine Umwandlungsangabe von ld durch lu.Wenn erfolgreich es das numerische Eingabefeld in einen Wert vom Typ unsigned long und Speicher konvertiert, die in _Val bewerten.
Die fünfte geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long long& _Val
) const;
verhält sich genauso wie das erste, außer dass ersetzt eine Umwandlungsangabe von ld durch lld.Wenn erfolgreich es das numerische Eingabefeld in einen Wert vom Typ long long und Speicher konvertiert, die in _Val bewerten.
Die 6. geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned long long& _Val
) const;
verhält sich genauso wie das erste, außer dass ersetzt eine Umwandlungsangabe von ld durch llu.Wenn erfolgreich es das numerische Eingabefeld in einen Wert vom Typ unsigned long long und Speicher konvertiert, die in _Val bewerten.
Die 7. geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
float& _Val
) const;
verhält sich genauso wie das erste, außer dass ermittelt, ein vollständiges, nicht leeren Gleitkommaeingabefeld übereinstimmt.fac.numpunct::decimal_point() bestimmt die Reihenfolge, die die ganzzahligen Ziffern von den Bruchsziffern trennt.Der entsprechende Überprüfungskonvertierungsspezifizierer ist lf.
Die achte geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
double& _Val
) const;
verhält sich genauso wie das erste, außer dass ermittelt, ein vollständiges, nicht leeren Gleitkommaeingabefeld übereinstimmt.fac.numpunct::decimal_point() bestimmt die Reihenfolge, die die ganzzahligen Ziffern von den Bruchsziffern trennt.Der entsprechende Überprüfungskonvertierungsspezifizierer ist lf.
Die 9. geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long double& _Val
) const;
verhält sich mit dem achte, dass der entsprechende Überprüfungskonvertierungsspezifizierer ist Lf.
Die 9. geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
void *& _Val
) const;
verhält sich genauso das erste, dass der entsprechende Überprüfungskonvertierungsspezifizierer ist p.
Die letzte (elfte) geschützte virtuelle Memberfunktion:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
bool& _Val
) const;
verhält sich genauso wie das erste, außer dass ermittelt, ein vollständiges, nicht leeren boolesches Eingabefeld übereinstimmt.Wenn erfolgreich es das boolesche Eingabefeld in einen Wert vom Typ bool und Speicher konvertiert, die in _Val bewerten.
Ein boolesches Eingabefeld nimmt eines von zwei Formularen.Wenn iosbase.flags() & ios_base::boolalpha falsch ist, ist der gleiche wie ein ganzzahliges Eingabefeld, dass der konvertierte Wert muss entweder 0 (für false) oder 1 (für true).Andernfalls muss die Sequenz entweder fac.numpunct::falsename() für (false) oder fac.numpunct::truename() übereinstimmen (für true).
Beispiel
Im Beispiel für rufen Sie ab, in dem die virtuelle Memberfunktion durch do_get aufgerufen wird.
Anforderungen
Header: <locale>
Namespace: std