_strtoi64
, _wcstoi64
, , _strtoi64_l
, _wcstoi64_l
Convierte una cadena en un valor __int64
.
Sintaxis
__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
);
Parámetros
strSource
Cadena terminada en NULL que se va a convertir.
endptr
Puntero al carácter que detiene el examen.
base
Base numérica que se va a usar.
locale
Configuración regional que se va a usar.
Valor devuelto
_strtoi64
devuelve el valor que se representa en la cadena strSource
, excepto cuando la representación produciría desbordamiento, en cuyo caso devuelve _I64_MAX
o _I64_MIN
. La función devuelve 0 si no se puede realizar ninguna conversión. _wcstoi64
devuelve valores de manera parecida a _strtoi64
.
Los objetos _I64_MAX
y _I64_MIN
se definen en LIMITS.H.
Si strSource
es NULL
o base
es distinto de cero y menor que 2 o mayor que 36, errno
se establece en EINVAL
.
Para obtener más información sobre los códigos de retorno, vea errno
, _doserrno
, _sys_errlist
y _sys_nerr
.
Comentarios
La función _strtoi64
convierte strSource
en un objeto __int64
. Ambas funciones dejan de leer la cadena strSource
en el primer carácter que no reconocen como parte de un número. Puede tratarse del carácter nulo final o del primer carácter numérico mayor o igual que base
. _wcstoi64
es una versión con caracteres anchos de _strtoi64
; su argumento strSource
es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiarlo, consulte Estado global en CRT.
Asignaciones de rutinas de texto genérico
Rutina TCHAR.H |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcstoi64 |
_strtoi64 |
_strtoi64 |
_wcstoi64 |
_tcstoi64_l |
_strtoi64_l |
_strtoi64_l |
_wcstoi64_l |
El valor de la categoría LC_NUMERIC
de la configuración regional determina el reconocimiento del carácter de base en strSource
; para obtener más información, consulte setlocale
. Las funciones sin el sufijo _l
usan la configuración regional actual; _strtoi64_l
y _wcstoi64_l
son idénticas a la función correspondiente sin el sufijo _l
, salvo que usan la configuración regional que se pasa. Para obtener más información, vea Locale.
Si endptr
no es NULL
, se almacena un puntero al carácter que detuvo el análisis en la ubicación a la que señala endptr
. Si no se puede realizar ninguna conversión (no se encontraron dígitos válidos o se especificó una base no válida), el valor de strSource
se almacena en la ubicación a la que señala endptr
.
_strtoi64
espera que strSource
señale a una cadena con el formato siguiente:
[] [
whitespace
{+
|-
}] [0
[{x
|X
}]] []digits
|letters
Un elemento whitespace
puede estar formado por caracteres de espacio y tabulación, que se omiten. digits
es uno o más dígitos decimales. letters
son una o varias de las letras "a" a "z" (o "A" a "Z"). El primer carácter que no se ajuste a este formato detiene el análisis. Si base
está entre 2 y 36, se usa como base del número. Si base
es 0, los caracteres iniciales de la cadena a la que apunta strSource
se usan para determinar la base. Si el primer carácter es 0 y el segundo carácter no es 'x' ni 'X', la cadena se interpreta como entero octal. Si el primer carácter es 0 y el segundo carácter es 'x' o 'X', la cadena se interpreta como entero hexadecimal. Si el primer carácter está entre 1 y 9, la cadena se interpreta como entero decimal. A las letras de la 'a' a la 'z' (o de la 'A' a la 'Z') se les asignan los valores del 10 al 35. Solo se admiten las letras cuyos valores asignados son menores que base
. El primer carácter que está fuera del intervalo de la base detiene el análisis. Por ejemplo, si base
es 0 y el primer carácter examinado es "0", se supone un entero octal y los caracteres "8" o "9 detendrán el análisis.
Requisitos
Función | Encabezado necesario |
---|---|
_strtoi64 , _strtoi64_l |
<stdlib.h> |
_wcstoi64 , _wcstoi64_l |
<stdlib.h> o <wchar.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Consulte también
Conversión de datos
Configuración regional
localeconv
setlocale
, _wsetlocale
Funciones de cadena a valor numérico
strtod
, _strtod_l
, , wcstod
, _wcstod_l
strtoul
, _strtoul_l
, , wcstoul
, _wcstoul_l
atof
, _atof_l
, , _wtof
, _wtof_l