Freigeben über


Zeichenfolge mit den Funktionen des numerischen Werts

Hinweise

Jede Funktion in der strtod Familie wird eine auf NULL endende Zeichenfolge in einen numerischen Wert.Die verfügbaren Funktionen werden in der folgenden Tabelle aufgeführt.

Funktion

Beschreibung

strtod

Konvertieren von Gleitkommazahlen mit doppelter Genauigkeit auf Zeichenfolge

strtol

Konvertieren der Zeichenfolge langen ganzen Zahl

strtoul

Konvertieren der Zeichenfolge langen ganzen Zahl ohne Vorzeichen

_strtoi64

Konvertieren in 64-Bit- __int64 Zeichenfolge ganze Zahl

_strtoui64

Konvertieren in 64-Bit- __int64 Zeichenfolge ganze Zahl ohne Vorzeichen

wcstod, wcstol, wcstoulund _wcstoi64 sind Breitzeichenversionen von strtod, strtol, strtoulund _strtoi64.Das Zeichenfolgenargument für jede dieser Breitzeichen Funktionen ist eine Zeichenfolge mit Breitzeichen. einzelnen Funktionen verhält sich genauso wie einem Einzelbytezeichen andernfalls äquivalent.

Die strtod-Funktion akzeptiert zwei Argumente: Das erste Element ist die Eingabezeichenfolge und die zweite ein Zeiger auf das Zeichen, das den Konvertierungsprozess beendet.strtol, strtoul, _strtoi64 und nehmen _strtoui64 ein drittes Argument als Basis für die Verwendung im Konvertierungsprozess.

Die Eingabezeichenfolge ist eine Folge von Zeichen, die als numerische Wert des angegebenen Typs interpretiert werden können.Jede Funktion beendet, die Zeichenfolge am ersten Zeichen zu lesen, das sie nicht als Teil einer Zahl erkennen kann.Dies ist möglicherweise NULL.Für strtol, strtoul, _strtoi64und Endzeichen _strtoui64kann es sich um das erste numerische Zeichen größer oder gleich der vom Benutzer angegebenen Basis werden.

Wenn der vom Benutzer angegebenen Zeiger auf ein END-von Konvertierung nicht NULL Zeichen an der Gesprächszeit festgelegt ist, wird ein Zeiger auf das Zeichen, das die Überprüfung beendet wurde, stattdessen dort gespeichert.Wenn keine Konvertierung ausgeführt werden kann (keine gültigen Ziffern gefunden wurden, oder eine ungültige Basis) angegeben wurde, wird der Wert des zeigers Zeichenfolgen an dieser Adresse gespeichert.

strtod erwartet eine Zeichenfolge im folgenden Format:

Leerraum[digitsZeichen[] - [] - []**.**digits] [{d | D | e | E} [Zeichen]digits]

Leerraum bestehen möglicherweise Leerzeichen oder Tabulatorzeichen, die ignoriert werden. Zeichen ist entweder**+(plus) oder - (–**). digits sind und eine oder mehrere Dezimalstellen.Wenn keine Ziffern vor der Basis von Zeichen angezeigt werden, muss mindestens nach dem Basis Zeichen vorkommen.Die Dezimalstellen folgen können von einem Exponenten, der aus einem Zeichen bestehen (dEinführung, e, Doder E) und optional eine Zahl mit Vorzeichen.Wenn weder ein Exponenten immer noch Bestandteil eines Basis Zeichen angezeigt wird, wird ein Basis wird angenommen, dass der letzte Ziffer in der Zeichenfolge zu befolgen.Das erste Zeichen, das nicht das Formular passt, beendet die Überprüfung.

strtol, strtoul, _strtoi64und _strtoui64-Funktionen erwarten eine Zeichenfolge im folgenden Format:

Leerraum[] [{+ | }] [0 [{ x | X }]] [digits]

Wenn das niedrige Argument zwischen 2 und 36 liegt, wird er als Basis der Zahl verwendet.Wenn 0 (null) ist, werden die ersten Zeichen, gefolgt von dem END-von Konvertierung Zeiger verwiesen werden, die Basis zu bestimmen.Wenn das erste Zeichen 0 ist und das zweite Zeichen „x“ oder „X“ ist, wird die Zeichenfolge als oktale ganze Zahl interpretiert. Andernfalls wird sie als decimal interpretiert.Wenn das erste Zeichen „0 " festgelegt ist, und das zweite Zeichen „x“ oder „X“ ist, wird die Zeichenfolge als ganze Hexadezimalzahl interpretiert.Wenn das erste Zeichen „1 " bis „9 " ist, wird die Zeichenfolge als ganze Dezimalzahl interpretiert.Der Buchstabe“ bis „z“ (oder „A“ durch „Z ") werden die Werte 10 und 35 zugewiesen. nur alphabetische Zeichen, deren bestimmte Werte kleiner sind als Basis sind zulässig.strtoul und _strtoui64 ermöglichen (plus einer**+**) oder Minuszeichen (–-des präfixes) Zeichen. ein führendes Minuszeichen gibt an, dass der Rückgabewert negiert wird.

Der Ausgabewert wurde durch die Einstellung der LC_NUMERIC Kategorieeinstellung des Gebietsschemas betroffen. Weitere Informationen finden Sie unter setlocale .Die Versionen dieser Funktionen ohne das Suffix verwenden _l dem aktuellen Gebietsschema für dieses gebietsschemaabhängige Verhalten. Versionen mit dem _l Suffix sind identisch, mit der Ausnahme, dass sie verwenden Sie stattdessen den Gebietsschemaparameter, der übergeben wird.

Als Wert, der von dieser Funktion zurückgegeben wurde, einen Überlauf oder einen Unterlauf verursachen würden oder wenn die Konvertierung nicht möglich ist, werden Werte des speziellen Falls z) zurückgegeben:

Funktion

Bedingung

Zurückgegebener Wert

strtod

Overflow

+/- HUGE_VAL

strtod

Unterlauf oder keine Konvertierung

0

strtol

+ Überlauf

LONG_MAX

strtol

- Überlauf

LONG_MIN

strtol

Unterlauf oder keine Konvertierung

0

_strtoi64

+ Überlauf

_I64_MAX

_strtoi64

- Überlauf

_I64_MIN

_strtoi64

Keine Konvertierung

0

_strtoui64

Overflow

_UI64_MAX

_strtoui64

Keine Konvertierung

0

_I64_MAX, _I64_MINund _UI64_MAX werden in LIMITS.H. definiert.

wcstod, wcstol, wcstoul, _wcstoi64und _wcstoui64 sind Breitzeichenversionen von strtod, strtol, strtoul, _strtoi64und _strtoui64erzeugt. Zeiger auf einen END-von Konvertierung Argument zu jeder dieser Breitzeichen Funktionen ist eine Zeichenfolge mit Breitzeichen.Andernfalls verhält sich jede dieser Breitzeichen Funktionen identisch mit dem Einzelbytezeichen äquivalent.

Siehe auch

Referenz

Datenkonvertierung

Gebietsschema

Interpretation von Mehrbytezeichen-Sequenzen

Gleitkommaunterstützung

atof, _atof_l, _wtof, _wtof_l