Compartir a través de


strtoul, _strtoul_l, wcstoul, _wcstoul_l

Convierte cadenas en un valor entero largo sin signo.

unsigned long strtoul(
   const char *nptr,
   char **endptr,
   int base 
);
unsigned long _strtoul_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
unsigned long wcstoul(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
unsigned long _wcstoul_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parámetros

  • nptr
    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

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

Vea _doserrno, errno, _sys_errlist y _sys_nerr para obtener más información sobre este y otros códigos de retorno.

Comentarios

Cada una de estas funciones convierte la cadena de entrada nptr en un valor unsigned long.

strtoul deja de leer la cadena nptr en el primer carácter que no reconoce 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. El valor de la categoría LC_NUMERIC de la configuración regional determina el reconocimiento de caracteres de base en nptr. Para obtener más información, vea setlocale. Los objetos strtoul y wcstoul usan la configuración regional actual; los objetos _strtoul_l y _wcstoul_l son idénticos, salvo que, en cambio, utilizan la configuración regional que se pasa. Para obtener más información, vea Configuración regional.

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 nptr se almacena en la ubicación a la que señala endptr.

wcstoul es una versión con caracteres anchos de strtoul; su argumento nptr es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcstoul

strtoul

strtoul

wcstoul

_tcstoul_l

strtoul_l

_strtoul_l

_wcstoul_l

strtoul espera que nptr señale a una cadena con el formato siguiente:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

whitespace puede estar formado por caracteres de espacio y tabulación, que se omiten; digits es uno o varios dígitos decimales. El primer carácter que no se ajusta 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 nptr 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. strtoul permite un prefijo de signo más (+) o menos (–); un signo menos inicial indica que el valor devuelto es negativo.

Requisitos

Rutina

Encabezado necesario

strtoul

<stdlib.h>

wcstoul

<stdlib.h> o <wchar.h>

_strtoul_l

<stdlib.h>

_wcstoul_l

<stdlib.h> o <wchar.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

Vea el ejemplo de strtod.

Equivalente en .NET Framework

System::Convert::ToUInt64

Vea también

Referencia

Conversión de datos

Configuración regional

localeconv

setlocale, _wsetlocale

Funciones de conversión de valores de cadena en valores numéricos

strtod, _strtod_l, wcstod, _wcstod_l

strtol, wcstol, _strtol_l, _wcstol_l

atof, _atof_l, _wtof, _wtof_l