strtoul, _strtoul_l, wcstoul, _wcstoul_l
Niepodpisane wartość long integer konwersji ciągów znaków.
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, 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
strtoulZwraca konwertowaną wartość, jeśli takie istnieją, lub ULONG_MAX w obszarze przepełnienia.strtoulZwraca wartość 0, jeśli można wykonać bez konwersji.wcstoulZwraca wartości analogiczne do strtoul.Dla obu funkcji errno jest ustawiona na ERANGE , jeśli występuje przepełnienie lub niedomiar.
Zobacz _doserrno, errno, _sys_errlist i _sys_nerr Aby uzyskać więcej informacji na temat tego i innych, kody zwracane.
Uwagi
Każda z tych funkcji konwertuje ciąg wejściowy nptr do unsignedlong.
strtoulZatrzymuje 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.LC_NUMERIC Kategorii ustawienie regionalne określa rozpoznawania znaków radix w nptr; Aby uzyskać więcej informacji, zobacz setlocale.strtouli wcstoul bieżące ustawienia regionalne; _strtoul_li _wcstoul_l są identyczne, 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.
wcstouljest to wersja szerokich znaków strtoul; jego nptr argument jest łańcuch szerokich znaków.W przeciwnym razie funkcje te zachowują się identycznie.
Tekst rodzajowy rutynowych mapowania
TCHAR.Rutynowe H |
_UNICODE & Nie zdefiniowano _MBCS |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tcstoul |
strtoul |
strtoul |
wcstoul |
_tcstoul_l |
strtoul_l |
_strtoul_l |
_wcstoul_l |
strtouloczekuje, ż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.strtoulzezwala na znak plus (+) lub minus (–) znak prefiksu; wiodący znak minus wskazuje, że wartość zwracana jest zanegowane.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
strtoul |
<stdlib.h> |
wcstoul |
<stdlib.h> lub <wchar.h> |
_strtoul_l |
<stdlib.h> |
_wcstoul_l |
<stdlib.h> lub <wchar.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
Zobacz też
Informacje
Ciąg znaków numerycznych wartości funkcji
strtod, _strtod_l, wcstod, _wcstod_l