Freigeben über


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

System::Convert::ToInt64

Siehe auch

Referenz

Datenkonvertierung

Gebietsschema

localeconv

setlocale, _wsetlocale

Zeichenfolge mit den Funktionen des numerischen Werts

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l