Compartir a través de


strtoll, _strtoll_l, , wcstoll, _wcstoll_l

Convierte una cadena en un valor long long.

Sintaxis

long long strtoll(
   const char *strSource,
   char **endptr,
   int base
);
long long wcstoll(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
long long _strtoll_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
long long _wcstoll_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

strtoll devuelve el valor que se representa en la cadena strSource, excepto si la representación fuera a producir un desbordamiento; en ese caso, devuelve LLONG_MAX o LLONG_MIN. La función devuelve 0 si no se puede efectuar ninguna conversión. wcstoll devuelve valores de manera parecida a strtoll.

Los objetos LLONG_MAX y LLONG_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 strtoll convierte strSource en long long. Ambas funciones dejan de leer la cadena strSource en el primer carácter que no reconocen como parte de un número. Puede ser el carácter nulo de terminación o puede ser el primer carácter numérico mayor o igual que base. wcstoll es una versión con caracteres anchos de strtoll; 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 cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcstoll strtoll strtoll wcstoll
_tcstoll_l _strtoll_l _strtoll_l _wcstoll_l

La configuración de categoría de la LC_NUMERIC configuración regional determina el reconocimiento del carácter radix en strSource; para obtener más información, vea setlocale, _wsetlocale. Las funciones que no tienen el sufijo _l usan la configuración regional actual; _strtoll_l y _wcstoll_l son idénticas a las funciones correspondientes que no tienen el sufijo, salvo que usan la configuración regional que se pasa. Para obtener más información, vea Locale.

Si endptr no NULLes , un puntero al carácter que detuvo el examen se almacena en la ubicación a endptrla que apunta . Si no se puede efectuar 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.

strtoll espera que strSource señale a una cadena con el formato siguiente:

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

whitespace puede estar formado por caracteres de espacio y tabulación, que se omiten; digits es uno o varios dígitos decimales; letters es uno o varias letras de la «a» a la «z» (o de la «A» a la «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" detienen el análisis.

Requisitos

Routine Encabezado necesario
strtoll, _strtoll_l <stdlib.h>
wcstoll, _wcstoll_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
strtol, wcstol, , _strtol_l, _wcstol_l
strtoul, _strtoul_l, , wcstoul, _wcstoul_l
atof, _atof_l, , _wtof, _wtof_l