Compartir a través de


strtoumax, _strtoumax_l, , wcstoumax, _wcstoumax_l

Convierte las cadenas en un valor entero del tipo de entero sin signo compatible más grande.

Sintaxis

uintmax_t strtoumax(
   const char *strSource,
   char **endptr,
   int base
);
uintmax_t _strtoumax_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
uintmax_t wcstoumax(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
uintmax_t _wcstoumax_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

strtoumax devuelve el valor convertido, si existe, o UINTMAX_MAX si se produce un desbordamiento. strtoumax devuelve 0 si no se puede realizar ninguna conversión. wcstoumax devuelve valores de manera parecida a strtoumax. Para ambas funciones, errno se establece en ERANGE si se produce un desbordamiento o subdesbordamiento.

Para obtener más información sobre los códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

Cada una de estas funciones convierte la cadena de entrada strSource en un valor entero uintmax_t.

strtoumax deja de leer la cadena strSource en el primer carácter que no reconoce 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. El valor de la categoría LC_NUMERIC de la configuración regional determina el reconocimiento del carácter de base de strSource. Para más información, vea setlocale, _wsetlocale. strtoumax y wcstoumax usan la configuración regional actual; _strtoumax_l y _wcstoumax_l son idénticos, 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.

La versión con caracteres anchos de strtoumax es wcstoumax; su argumento strSource es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumax 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ían el análisis. strtoumax permite un prefijo signo más (+) o signo menos (-); un signo menos inicial indica que el valor devuelto es el complemento de dos del valor absoluto de la cadena convertida.

Requisitos

Routine Encabezado necesario
strtoumax, wcstoumax, , _strtoumax_l, _wcstoumax_l <inttypes.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

Vea el ejemplo de strtod.

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
strtoimax, _strtoimax_l, , wcstoimax, _wcstoimax_l
strtol, wcstol, , _strtol_l, _wcstol_l
strtoul, _strtoul_l, , wcstoul, _wcstoul_l
strtoll, _strtoll_l, , wcstoll, _wcstoll_l
atof, _atof_l, , _wtof, _wtof_l