_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Konwertowanie ciągu na niepodpisany __int64 wartości.
unsigned __int64 _strtoui64(
const char *nptr,
char **endptr,
int base
);
unsigned __int64 _wcstoui64(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
unsigned __int64 _strtoui64_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
unsigned __int64 _wcstoui64(
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
_strtoui64Zwraca wartość reprezentowane w ciągu nptr, z wyjątkiem gdy przedstawienie spowodowałoby przepełnienie, w którym sprawa go zwraca _UI64_MAX._strtoui64zwróci 0, jeśli można wykonać bez konwersji.
_UI64_MAXjest zdefiniowany w granicach.H.
Jeśli nptr jest NULL lub base jest różna od zera i albo mniej niż 2 lub większy niż 36, errno jest ustawiona na EINVAL.
Zobacz _doserrno, errno, _sys_errlist i _sys_nerr uzyskać więcej informacji o tych i innych, kody zwracane.
Uwagi
The _strtoui64function converts nptr to an unsigned __int64._wcstoui64jest to wersja szerokich znaków _strtoui64; jego nptr argument jest łańcuch szerokich znaków.W przeciwnym razie funkcje te zachowują się identycznie.
Obie funkcje zatrzymać czytanie ciąg nptr na pierwszy znak nie można uznać za część liczby.Może to być kończącego znaku null lub może być pierwszego znaku numerycznego, większe niż lub równe base.
Tekst rodzajowy rutynowych mapowania
TCHAR.Rutynowe H |
_UNICODE & Nie zdefiniowano _MBCS |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
Bieżące ustawienia regionalne LC_NUMERIC kategorii ustawienie określa rozpoznawania znaków radix w nptr; Aby uzyskać więcej informacji, zobacz setlocale.Funkcje bez sufiks _l Użyj bieżącego ustawienia regionalne; _strtoui64_l i_wcstoui64_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.
_strtoui64 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; digits są 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 |
---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<stdlib.h> lub <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<stdlib.h> lub <wchar.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// crt_strtoui64.c
#include <stdio.h>
unsigned __int64 atoui64(const char *szUnsignedInt) {
return _strtoui64(szUnsignedInt, NULL, 10);
}
int main() {
unsigned __int64 u = atoui64("18446744073709551615");
printf( "u = %I64u\n", u );
}
Zobacz też
Informacje
Ciąg znaków numerycznych wartości funkcji
strtod, _strtod_l, wcstod, _wcstod_l