strtol, wcstol, _strtol_l, _wcstol_l
Cadenas de convertir un valor de largo-entero.
long strtol(
const char *nptr,
char **endptr,
int base
);
long wcstol(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
long _strtol_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
long _wcstol_l(
const wchar_t *nptr,
wchar_t **endptr,
int base,
_locale_t locale
);
Parámetros
nptr
Cadena terminada en null a convertir.endptr
Puntero al carácter que detiene el análisis.base
base de número a utilizar.locale
configuración regional a utilizar.
Valor devuelto
strtol devuelve el valor representado en la cadena nptr, excepto cuando la representación provocaría un desbordamiento, en cuyo caso devuelve LONG_MAX o LONG_MIN.strtol devuelve 0 si ninguna conversión puede realizar.wcstol devuelve valores análogo a strtol.Para ambas funciones, errno se establece en ERANGE si el desbordamiento o subdesbordamiento aparece.
Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información sobre éstos y otros códigos de retorno.
Comentarios
la función de strtol convierte nptr a long.strtol finaliza la lectura de la cadena nptr en el primer carácter que no puede reconocer como parte de un número.Puede ser el carácter null de terminación, o puede ser el primer carácter numérico mayor o igual base.
wcstol es una versión con caracteres anchos de strtol; el argumento de nptr es una cadena de caracteres.Estas funciones se comportan exactamente igual de otra manera.
Asignaciones de la rutina de texto genérico
rutina de TCHAR.H |
_UNICODE y _MBCS no definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcstol |
strtol |
strtol |
wcstol |
_tcstol_l |
_strtol_l |
_strtol_l |
_wcstol_l |
El valor actual de la categoría de LC_NUMERICde la configuración regional determina el reconocimiento de carácter de la base de nptr*;* para obtener más información, vea setlocale.las funciones sin el sufijo de _l utilizan la configuración regional actual; _strtol_l y _wcstol_l son idénticos a las funciones correspondientes sin el sufijo de _l salvo que utilizan la configuración regional pasado en su lugar.Para obtener más información, vea Configuración regional.
Si endptr no es NULL, un puntero al carácter que se detuvo el análisis se almacena en la ubicación a la que endptr.Si ninguna conversión se puede realizar (no se encontraron dígitos válidos o base no válida se especificó), el valor de nptr se almacena en la ubicación a la que endptr.
strtolespera que nptr apunta a una cadena con el formato siguiente:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
whitespace puede ser el espacio y los caracteres de tabulación, se omiten que; digits es uno o más dígitos decimales.El primer carácter que no encaja en este formulario detiene el análisis.Si base está entre 2 y 36, se utiliza como base del número.Si base es 0, los caracteres iniciales de la cadena indicada por a nptr se utilizan para determinar la base.si el primer carácter es 0 y el segundo carácter no es “x” o “X”, la cadena se interpreta como entero octal; si no, se interpreta como un número decimal.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 es “1" con “9", la cadena se interpreta como entero decimal.Las letras” a la “z” (o “A” a la “z ") se asignan los valores 10 a 35; sólo las letras cuyo asignaban valores son menos que base permitidos.
Requisitos
rutina |
Encabezado necesario |
---|---|
strtol |
<stdlib.h> |
wcstol |
<stdlib.h> o <wchar.h> |
_strtol_l |
<stdlib.h> |
Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.
Ejemplo
Vea el ejemplo para strtod.
Equivalente en .NET Framework
Vea también
Referencia
Cadena a las funciones de valor numérico
strtod, _strtod_l, wcstod, _wcstod_l