Udostępnij za pośrednictwem


_strtoi64, , _wcstoi64, , _strtoi64_l_wcstoi64_l

Przekonwertuj __int64 ciąg na wartość.

Składnia

__int64 _strtoi64(
   const char *strSource,
   char **endptr,
   int base
);
__int64 _wcstoi64(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
__int64 _strtoi64_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
__int64 _wcstoi64_l(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parametry

strSource
Ciąg zakończony wartością null do konwersji.

endptr
Wskaźnik do znaku, który zatrzymuje skanowanie.

base
Podstawa liczbowa do użycia.

locale
Ustawienia regionalne do użycia.

Wartość zwracana

_strtoi64 Zwraca wartość reprezentowaną w ciągu strSource, z wyjątkiem sytuacji, gdy reprezentacja spowoduje przepełnienie, w tym przypadku zwraca _I64_MAX wartość lub _I64_MIN. Funkcja zwróci wartość 0, jeśli nie można wykonać konwersji. _wcstoi64 zwraca wartości analogicznie do _strtoi64.

_I64_MAX i _I64_MIN są zdefiniowane w pliku LIMITS.H.

Jeśli strSource wartość jest NULL lub base jest niezerowa, a wartość jest mniejsza niż 2 lub większa niż 36, errno jest ustawiona na EINVALwartość .

Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Uwagi

Funkcja _strtoi64 jest konwertowana strSource na element __int64. Obie funkcje przestają odczytywać ciąg strSource przy pierwszym znaku, którego nie mogą rozpoznać jako części liczby. Może to być znak zerowy zakończenia lub może być pierwszym znakiem liczbowym większym lub równym base. _wcstoi64 jest wersją szerokoznakową ; _strtoi64jego strSource argument jest ciągiem o szerokim znaku. Te funkcje zachowują się identycznie inaczej.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby go zmienić, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

TCHAR.H rutyna _UNICODE i _MBCS niezdefiniowane _MBCS zdefiniowany _UNICODE zdefiniowany
_tcstoi64 _strtoi64 _strtoi64 _wcstoi64
_tcstoi64_l _strtoi64_l _strtoi64_l _wcstoi64_l

Ustawienie kategorii ustawień regionalnych określa rozpoznawanie LC_NUMERIC znaku promieniowego w elem strSource. Aby uzyskać więcej informacji, zobacz setlocale. Funkcje bez sufiksu _l używają bieżących ustawień regionalnych i _strtoi64_l _wcstoi64_l są identyczne z odpowiednią funkcją bez sufiksu _l , z tą różnicą, że używają ustawień regionalnych przekazanych w zamian. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Jeśli endptr tak nie NULLjest , wskaźnik do znaku, który zatrzymał skanowanie, jest przechowywany w lokalizacji wskazywanej przez endptr. Jeśli nie można wykonać konwersji (nie znaleziono prawidłowych cyfr lub określono nieprawidłową bazę), wartość strSource jest przechowywana w lokalizacji wskazywanej przez endptr.

_strtoi64strSource oczekuje wskazywania ciągu następującego formularza:

[whitespace] [{+ | -}] [0 [{ x | X }]] []digits | letters

Element whitespace może składać się z spacji i znaków tabulacji, które są ignorowane. digits to co najmniej jedna cyfra dziesiętna. letters są co najmniej jedną literą "a" przez "z" (lub "A" do "Z"). Pierwszy znak, który nie pasuje do tego formularza, zatrzymuje skanowanie. Jeśli base wartość wynosi od 2 do 36, jest używana jako podstawa liczby. Jeśli base wartość to 0, początkowe znaki ciągu wskazywane przez strSource są używane do określania podstawy. Jeśli pierwszy znak to "0", a drugi znak nie jest "x" ani "X", ciąg jest interpretowany jako liczba całkowita ósemkowa. Jeśli pierwszy znak to "0", a drugi znak to "x" lub "X", ciąg jest interpretowany jako liczba całkowita szesnastkowa. Jeśli pierwszy znak to od "1" do "9", ciąg jest interpretowany jako liczba całkowita dziesiętna. Litery "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 dozwolone. Pierwszy znak poza zakresem podstawy zatrzymuje skanowanie. Na przykład jeśli base wartość to 0, a pierwszy przeskanowany znak to "0", zakłada się, że liczba całkowita ósemkowa, a znak "8" lub "9" zatrzyma skanowanie.

Wymagania

Function Wymagany nagłówek
_strtoi64, _strtoi64_l <stdlib.h>
_wcstoi64, _wcstoi64_l <stdlib.h> lub <wchar.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Zobacz też

Konwersja danych
ustawienia regionalne
localeconv
setlocale, _wsetlocale
Funkcje ciąg-wartość liczbowa
strtod, , _strtod_l, , wcstod_wcstod_l
strtoul, , _strtoul_l, , wcstoul_wcstoul_l
atof, , _atof_l, , _wtof_wtof_l