Udostępnij za pośrednictwem


strtol, wcstol, _strtol_l, _wcstol_l

Wartość long integer konwersji ciągów znaków.

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
);

Parametry

  • nptr
    Ciąg zakończony zerem, aby przekonwertować.

  • endptr
    Wskaźnik myszy na znak, który zatrzymuje skanowanie.

  • base
    Bazowy numer ma być użyty.

  • locale
    Ustawienia regionalne, aby użyć.

Wartość zwracana

strtolZwraca wartość reprezentowane w ciągu nptr, z wyjątkiem gdy przedstawienie spowodowałoby przepełnienie, w którym sprawa go zwraca LONG_MAX lub LONG_MIN.strtolZwraca wartość 0, jeśli można wykonać bez konwersji.wcstolZwraca wartości analogiczne do strtol.Dla obu funkcji errno jest ustawiona na ERANGE , jeśli występuje przepełnienie lub niedomiar.

Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów powrotu.

Uwagi

The strtol function converts nptr to a long.strtolZatrzymuje czytanie ciąg nptr na pierwszy znak nie jest rozpoznawana jako część numeru.Może to być kończącego znaku null lub może być pierwszego znaku numerycznego, większe niż lub równe base.

wcstoljest to wersja szerokich znaków strtol; jego nptr argument jest łańcuch szerokich znaków.Te funkcje działają identycznie inaczej.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_tcstol

strtol

strtol

wcstol

_tcstol_l

_strtol_l

_strtol_l

_wcstol_l

Bieżące ustawienia regionalne LC_NUMERIC kategorii ustawienie określa rozpoznawania znaków radix w nptr*;* uzyskać więcej informacji, zobacz setlocale.Funkcje bez _l sufiks Użyj bieżącego ustawienia regionalne; _strtol_li _wcstol_l są identyczne, odpowiadające im funkcje bez _l sufiks, z wyjątkiem, że używają oni przekazany zamiast ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Jeśli endptr nie jest NULL, wskaźnik do znaku, którego praca została zatrzymana skanowania jest przechowywany w lokalizacji wskazywanej przez endptr.Jeśli można wykonać bez konwersji (nie znaleziono żadnych prawidłowych cyfr lub określono nieprawidłowy base), wartość nptr jest przechowywany w lokalizacji wskazywanej przez endptr.

strtol oczekuje, że nptr wskaż ciąg następującą postać:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

A whitespace może składać się ze znaków spacji i tabulatora, które są ignorowane; digitssą z jednego lub więcej cyfr dziesiętnych.Pierwszy znak, który nie mieści się ta forma zatrzymuje skanowanie.Jeśli base jest między 2 a 36, zostanie użyty jako podstawa liczby.Jeśli base jest równa 0, początkowe znaki ciągu wskazywanej przez nptr są używane do określenia podstawy.Jeśli pierwszy znak jest równa 0, a drugi znak nie jest 'x' lub 'X', ciąg jest interpretowana jako ósemkową liczby całkowitej; w przeciwnym razie jest interpretowana jako liczbę dziesiętną.Jeśli pierwszy znak jest "0" i jest drugi znak 'x' lub 'X', ciąg jest interpretowana jako szesnastkowe liczbą całkowitą.Jeśli pierwszy znak jest "1" przez "9", ciąg jest interpretowana jako dziesiętną liczbę całkowitą.Litery "" do "z" (lub "" przez "Z") są przypisane wartości od 10 do 35; tylko litery, w której przypisane wartości są mniejsze niż base są dozwolone.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

strtol

<stdlib.h>

wcstol

<stdlib.h> lub <wchar.h>

_strtol_l

<stdlib.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

Zobacz przykład dla strtod.

Odpowiednik w programie .NET Framework

System::CONVERT::ToInt64

Zobacz też

Informacje

Konwersja danych

Ustawienia regionalne

localeconv

setLocale, _wsetlocale

Ciąg znaków numerycznych wartości funkcji

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l