_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Convierte una cadena en un valor __int64 sin signo.

unsigned __int64 _strtoui64(  
   const char *nptr,  
   char **endptr,  
   int base   
);  
unsigned __int64 _wcstoui64(  
   const wchar_t *nptr,  
   wchar_t **endptr,  
   int base   
);  
unsigned __int64 _strtoui64_l(  
   const char *nptr,  
   char **endptr,  
   int base,  
   _locale_t locale  
);  
unsigned __int64 _wcstoui64(  
   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.

_strtoui64 devuelve el valor que se representa en la cadena nptr, excepto cuando la representación produciría desbordamiento, en cuyo caso devuelve _UI64_MAX. _strtoui64devuelve 0 si no se puede realizar ninguna conversión.

_UI64_MAX se define en LIMITS.H.

Si nptr es NULL o base es distinto de cero y menor que 2 o mayor que 36, errno se establece en EINVAL.

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

La función _strtoui64convierte nptr en unsigned __int64. _wcstoui64 es una versión con caracteres anchos de _strtoui64; su argumento nptr es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.

Ambas funciones dejan de leer la cadena nptr en el primer carácter que no reconocen 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.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_tcstoui64_strtoui64_strtoui64_wstrtoui64
_tcstoui64_l_strtoui64_l_strtoui64_l_wstrtoui64_l

El valor de la categoría LC_NUMERIC de la configuración regional actual determina el reconocimiento de caracteres de base en nptr. Para obtener más información, vea setlocale. Las funciones sin el sufijo _l usan la configuración regional actual. _strtoui64_l y_wcstoui64_l son iguales que las funciones correspondientes sin el sufijo _l, salvo que usan 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.

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

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

whitespace puede estar formado por los 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.

RutinaEncabezado necesario
_strtoui64<stdlib.h>
_wcstoui64<stdlib.h> o <wchar.h>
_strtoui64_l<stdlib.h>
_wcstoui64_l<stdlib.h> o <wchar.h>

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

// crt_strtoui64.c  
#include <stdio.h>  
  
unsigned __int64 atoui64(const char *szUnsignedInt) {  
   return _strtoui64(szUnsignedInt, NULL, 10);  
}  
  
int main() {  
   unsigned __int64 u = atoui64("18446744073709551615");  
   printf( "u = %I64u\n", u );  
}  

u = 18446744073709551615

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
strtoul, _strtoul_l, wcstoul, _wcstoul_l
atof, _atof_l, _wtof, _wtof_l

Mostrar: