Udostępnij za pośrednictwem


strtoul, _strtoul_l, wcstoul, _wcstoul_l

Przekonwertować ciągi wartość Liczba całkowita długa bez znaku.

unsigned long strtoul(
   const char *nptr,
   char **endptr,
   int base 
);
unsigned long _strtoul_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
unsigned long wcstoul(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
unsigned long _wcstoul_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parametry

  • nptr
    Ciąg zakończony zerem do przekonwertowania.

  • endptr
    Wskaźnik znaku zatrzymującego skanowanie.

  • base
    Numer podstawowy do użycia.

  • locale
    Ustawienia regionalne do użycia.

Wartość zwracana

Funkcja strtoul zwraca wartość przekonwertowaną, o ile w ogóle zwraca wartość, albo wartość ULONG_MAX przy przepełnieniu.Funkcja strtoul zwraca wartość 0, jeśli nie można wykonać konwersji.wcstoul zwraca wartości analogicznie do strtoul.Dla obu funkcji atrybut errno jest ustawiany na ERANGE, jeśli występuje przepełnienie lub niedopełnienie.

Zobacz _doserrno, numer błędu, _sys_errlist i _sys_nerr uzyskać więcej informacji na ten temat i drugiej, zwracają kodów.

Uwagi

Każda z tych funkcji konwertuje ciąg wejściowy nptr do unsignedlong. 

Funkcja strtoul przestaje odczytywać ciąg nptr przy pierwszym znaku, którego nie może rozpoznać jako elementu liczby.Może to być kończący znak null lub pierwszy znak numeryczny, który jest większy lub równy base.LC_NUMERIC Kategorii ustawienie ustawień regionalnych określa rozpoznawania znaków radix w nptr; Aby uzyskać więcej informacji, zobacz setlocale.strtouli wcstoul użyć bieżących ustawień regionalnych; _strtoul_li _wcstoul_l są identyczne z tym, że używają oni regionalne przekazany w zamian.Aby uzyskać więcej informacji, zobacz Regionalne.

Jeśli endptr nie jest NULL, wskaźnik znaku, który zatrzymał skanowanie jest przechowywany w lokalizacji wskazywanej przez endptr.Jeśli konwersja nie może być wykonywana (nie znaleziono żadnych prawidłowych cyfr lub określono nieprawidłową podstawę), wartość nptr jest przechowywana w lokalizacji wskazywanej przez endptr.

wcstoul to wersja znaku dwubajtowego strtoul; jej argument nptr jest ciągiem znaku dwubajtowego.W innych przypadkach te funkcje zachowują się identycznie.

Rutynowe mapowania zwykłego tekstu

Procedura Tchar.h

_UNICODE & _MBCS nie zdefiniowano

_MBCS zdefiniowano

_UNICODE zdefiniowany

_tcstoul

strtoul

strtoul

wcstoul

_tcstoul_l

strtoul_l

_strtoul_l

_wcstoul_l

Funkcja strtoul oczekuje, że parametr nptr wskaże ciąg o następującej postaci:

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

whitespace może składać się ze znaków spacji lub tabulatora, które są ignorowane; digits to jedna lub więcej cyfr dziesiętnych.Pierwszy znak, który nie mieści się w tym formularzu zatrzymuje skanowanie.Jeśli base jest między 2 a 36, zostanie użyty jako podstawa numeru.Jeśli atrybut base ma wartość 0, początkowe znaki ciągu wskazywane przez atrybut nptr są używane do określenia podstawy.Jeśli pierwszym znakiem jest 0, a drugim znakiem nie jest ,,x" lub ,,X", ciąg jest interpretowany jako ósemkowa liczba całkowita.Jeśli pierwszym znakiem jest ,,0", a drugim znakiem jest ,,x" lub ,,X", ciąg jest interpretowany jako szesnastkowa liczba całkowita.Jeśli pierwszym znakiem jest ,,1" do ,,9", ciąg jest interpretowany jako dziesiętna liczba całkowita.Literom ,,a" do ,,z" (lub ,,A" do ,,Z") są przypisane wartości od 10 do 35; tylko litery, których przypisane wartości są mniejsze niż base są dozwolone.Pierwszy znak spoza zakresu podstawy zatrzymuje skanowanie.Na przykład, jeśli atrybut base wynosi 0 i pierwszy znak skanowany to „0”, zakłada się liczbę całkowitą w postaci ósemkowej oraz, że znak „8” lub „9” zatrzyma skanowanie.strtoulPozwala to plus (+) lub minus (–) prefiks znak; wiodący znak minus wskazuje, że wartość zwracana jest zanegowane.

Wymagania

Procedura

Wymagany nagłówek

strtoul

<stdlib.h>

wcstoul

<stdlib.h> lub <wchar.h>

_strtoul_l

<stdlib.h>

_wcstoul_l

<stdlib.h> lub <wchar.h>

Dodatkowe informacje o zgodności – zobacz: Zgodność we Wprowadzeniu.

Przykład

Zobacz przykład dotyczący funkcji strtod.

Odpowiednik w programie .NET Framework

System::Convert::ToUInt64

Zobacz też

Informacje

Konwersja danych

Regionalne

localeconv

setlocale, _wsetlocale

Konwertowanie ciągów na wartości

strtod, _strtod_l, wcstod, _wcstod_l

strtol, wcstol, _strtol_l, _wcstol_l

atof, _atof_l, _wtof, _wtof_l