_strtoi64
, _wcstoi64
, , _strtoi64_l
_wcstoi64_l
Převede řetězec na __int64
hodnotu.
Syntaxe
__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
Řetězec ukončený hodnotou null, který se má převést.
endptr
Ukazatel na znak, který zastaví prohledávání.
base
Číselný základ, který se má použít.
locale
Národní prostředí, které se má použít
Vrácená hodnota
_strtoi64
vrátí hodnotu reprezentovanou v řetězci strSource
s výjimkou případů, kdy reprezentace způsobí přetečení, v takovém případě vrátí _I64_MAX
nebo _I64_MIN
. Funkce vrátí hodnotu 0, pokud nelze provést převod. _wcstoi64
vrátí hodnoty analogicky k _strtoi64
.
_I64_MAX
a _I64_MIN
jsou definovány v LIMITS.H.
Pokud strSource
je nebo base
je NULL
nenulová a je menší než 2 nebo větší než 36, errno
je nastavena na EINVAL
hodnotu .
Další informace o návratových kódech naleznete v tématu errno
, _doserrno
, _sys_errlist
a _sys_nerr
.
Poznámky
Funkce _strtoi64
se strSource
převede na .__int64
Obě funkce přestanou číst řetězec strSource
na prvním znaku, který nedokáže rozpoznat jako součást čísla. Může se jednat o ukončující znak null nebo může být prvním číselným znakem, který je větší nebo roven base
. _wcstoi64
je širokoznační verze _strtoi64
; jeho strSource
argument je řetězec širokého znaku. Tyto funkce se chovají stejně jinak.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Pokud ho chcete změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
TCHAR.H rutina |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcstoi64 |
_strtoi64 |
_strtoi64 |
_wcstoi64 |
_tcstoi64_l |
_strtoi64_l |
_strtoi64_l |
_wcstoi64_l |
Nastavení kategorie národního prostředí LC_NUMERIC
určuje rozpoznávání znaku radixu v strSource
; další informace naleznete v tématu setlocale
. Funkce bez přípony _l
používají aktuální národní prostředí _strtoi64_l
a _wcstoi64_l
jsou stejné jako odpovídající funkce bez přípony _l
s tím rozdílem, že místo toho používají předané národní prostředí. Další informace naleznete v tématu Národní prostředí.
Pokud endptr
není NULL
, ukazatel na znak, který zastavil kontrolu, je uložen v umístění, na které endptr
odkazuje . Pokud nelze provést žádný převod (nebyly nalezeny žádné platné číslice nebo byla zadána neplatná základna), hodnota strSource
je uložena v umístění, na které endptr
odkazuje .
_strtoi64
strSource
očekává, že odkazuje na řetězec následujícího formuláře:
[
whitespace
] [{+
|-
}] [0
[{x
|X
}]] []digits
|letters
Může whitespace
se skládat z mezery a znaků tabulátoru, které jsou ignorovány. digits
jsou jedno nebo více desetinných číslic. letters
jsou jedno nebo více písmen "a" až 'z' (nebo 'A' až 'Z'). První znak, který se nevejde do tohoto formuláře, zastaví prohledávání. Pokud base
je mezi 2 a 36, použije se jako základ čísla. Pokud base
je 0, počáteční znaky řetězce, na který strSource
odkazuje, slouží k určení základu. Pokud je první znak 0 a druhý znak není x nebo X, řetězec se interpretuje jako osmičkové celé číslo. Pokud je první znak 0 a druhý znak je x nebo X, řetězec se interpretuje jako šestnáctkové celé číslo. Pokud je první znak 1 až 9, řetězec se interpretuje jako desetinné číslo. Písmena "a" až 'z' (nebo 'A' až 'Z') jsou přiřazena hodnoty 10 až 35; pouze písmena, jejichž přiřazené hodnoty jsou menší, než base
jsou povoleny. První znak mimo rozsah základny zastaví kontrolu. Pokud je například base
0 a první znak skenován je 0, předpokládá se osmičkové celé číslo a kontrola 8 nebo 9 zastaví kontrolu.
Požadavky
Function | Požadovaný hlavičkový soubor |
---|---|
_strtoi64 , _strtoi64_l |
<stdlib.h> |
_wcstoi64 , _wcstoi64_l |
<stdlib.h> nebo <wchar.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Konverze dat
Národní prostředí
localeconv
setlocale
, _wsetlocale
Funkce řetězcových k číselným hodnotám
strtod
, _strtod_l
, , wcstod
_wcstod_l
strtoul
, _strtoul_l
, , wcstoul
_wcstoul_l
atof
, _atof_l
, , _wtof
_wtof_l