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 NULL
es , un puntero al carácter que detuvo el examen se almacena en la ubicación a endptr
la 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