strtol, wcstol, _strtol_l, _wcstol_l
Konvertieren von Zeichenfolgen zu einem LONG Zahl-Wert.
long strtol(
const char *nptr,
char **endptr,
int base
);
long wcstol(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
long _strtol_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
long _wcstol_l(
const wchar_t *nptr,
wchar_t **endptr,
int base,
_locale_t locale
);
Parameter
nptr
Klicken Sie auf NULL endende Zeichenfolge zu konvertieren.endptr
Zeiger auf Zeichen, das die Überprüfung beendet.base
Der zu verwendende Basis.locale
Der zu verwendende Gebietsschema.
Rückgabewert
strtol gibt den Wert zurück, der in der Zeichenfolge dargestellt werden, es sei denn, nptrdie Darstellung als einem Überlauf führen würde. In diesem Fall wird sie LONG_MAX oder LONG_MINzurückgibt.strtol gibt 0 zurück, wenn keine Konvertierung ausgeführt werden kann.wcstol gibt Werte analog zu strtolzurück.Für beide Funktionen wird errno zu ERANGE festgelegt, wenn Überlauf oder Unterlauf auftritt.
Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr Weitere Informationen über diese und andere Rückgabecodes.
Hinweise
Die strtol-Funktion konvertiert nptr zu long.strtol abgebrochen, nptr am ersten Zeichen der Zeichenfolge zu lesen, das sie nicht als Teil einer Zahl erkennen kann.Dies ist möglicherweise NULL, oder es ist möglicherweise die erste größer oder gleich basenumerische Zeichen.
wcstol ist eine Breitzeichen-Version von strtol. handeln nptr-Argument ist eine Zeichenfolge mit Breitzeichen.Diese Funktionen verhalten sich ansonsten unterscheiden.
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tcstol |
strtol |
strtol |
wcstol |
_tcstol_l |
_strtol_l |
_strtol_l |
_wcstol_l |
Die aktuelle LC_NUMERICKategorieeinstellung des Gebietsschemas bestimmt Erkennung des Basis Signierung in nptr*.* Weitere Informationen finden Sie unter setlocale.Die Funktionen ohne das Suffix verwenden _l dem aktuellen Gebietsschema. _strtol_l und _wcstol_l sind den entsprechenden Funktionen _l ohne das Suffix identisch, mit der Ausnahme, dass sie verwenden Sie stattdessen das Gebietsschema, das übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Wenn endptr nicht NULList, wird ein Zeiger auf das Zeichen, das die Überprüfung beendet wurde, am Speicherort gespeichert, der durch endptrdargestellt wird.Wenn keine Konvertierung ausgeführt werden kann (keine gültigen Ziffern gefunden wurden, oder eine ungültige Basis) angegeben wurde, wird der Wert von nptr am Speicherort gespeichert, der durch endptrdargestellt wird.
strtolerwartet nptr , zu einer Zeichenfolge im folgenden Format zu veranschaulichen:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
whitespace besteht möglicherweise Leerzeichen, Tabstoppzeichen und die ignoriert werden. digits sind eine oder mehrere Dezimalstellen.Das erste Zeichen, das nicht das Formular passt, beendet die Überprüfung.Wenn base zwischen 2 und 36 liegt, wird er als Basis der Zahl verwendet.Wenn base 0 (null) ist, werden die ersten Zeichen der Zeichenfolge, die von nptr gezeigte verwendet, um 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 base sind zulässig.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
strtol |
<stdlib.h> |
wcstol |
<stdlib.h> oder <wchar.h> |
_strtol_l |
<stdlib.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Weitere Informationen finden Sie im Beispiel für strtod.
.NET Framework-Entsprechung
Siehe auch
Referenz
Zeichenfolge mit den Funktionen des numerischen Werts
strtod, _strtod_l, wcstod, _wcstod_l