_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Convertir une chaîne non __int64 valeur.

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  
);  

Paramètres

nptr
Chaîne terminée par null à convertir.

endptr
Pointeur vers le caractère qui arrête l’analyse.

base
Base numérique à utiliser.

locale
Paramètres régionaux à utiliser.

_strtoui64Retourne la valeur représentée dans la chaîne nptr, sauf lorsque la représentation provoque un dépassement de capacité, auquel cas elle retourne _UI64_MAX. _strtoui64retourne 0 si aucune conversion peut être effectuée.

_UI64_MAXest défini dans les limites. H.

Si nptr est NULL ou base est différente de zéro et inférieure à 2 ou supérieur à 36, errno est défini sur EINVAL.

Consultez la page _doserrno, errno, _sys_errlist et _sys_nerr pour plus d’informations sur les autres codes de retour.

Le _strtoui64fonction convertit nptr à une unsigned __int64. _wcstoui64est une version à caractère élargi de _strtoui64; son nptr argument est une chaîne à caractères larges. Sinon, ces fonctions se comportent de façon identique.

Les deux fonctions arrêter la lecture de la chaîne nptr au premier caractère ne reconnaît pas comme partie d’un nombre. Cela peut être le caractère null de fin, ou il peut être le premier caractère numérique supérieur ou égale à base.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tcstoui64_strtoui64_strtoui64_wstrtoui64
_tcstoui64_l_strtoui64_l_strtoui64_l_wstrtoui64_l

Les paramètres régionaux actuels LC_NUMERIC catégorie détermine la reconnaissance du caractère de base nptr; pour plus d’informations, consultez setlocale. Les fonctions sans le suffixe _l utilisent les paramètres régionaux ; _strtoui64_l et_wcstoui64_l sont identiques aux fonctions correspondantes sans le _l suffixe, sauf qu’ils utilisent les paramètres régionaux passé à la place. Pour plus d’informations, consultez Locale.

Si endptr n’est pas NULL, un pointeur vers le caractère qui a arrêté l’analyse est stocké à l’emplacement désigné par endptr. Si aucune conversion ne peut être effectuée (aucun chiffre valide a été trouvé ou une base non valide a été spécifié), la valeur de nptr est stocké à l’emplacement désigné par endptr.

_strtoui64attend nptr pour pointer vers une chaîne sous la forme suivante :

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

Un whitespace peut contenir les caractères espace et la tabulation, qui sont ignorés ; digits sont un ou plusieurs chiffres décimaux. Le premier caractère qui ne correspond pas à ce formulaire arrête l’analyse. Si base est comprise entre 2 et 36, il est utilisé comme base du nombre. Si base est 0, les premiers caractères de la chaîne pointée par nptr servent à déterminer la base. Si le premier caractère est 0 et que le deuxième caractère n’est pas « x » ou « X », la chaîne est interprétée comme un entier octal. Si le premier caractère est « 0 » et le deuxième caractère est « x » ou « X », la chaîne est interprétée comme un entier hexadécimal. Si le premier caractère est « 1 « à « 9 », la chaîne est interprétée comme un entier décimal. Les lettres « a » à « z » (ou « A » à « Z ») est affecté les valeurs 10 à 35 ; Seuls les lettres dont les valeurs affectées sont moins base sont autorisées. Le premier caractère en dehors de la plage de la base de l’arrête. Par exemple, si base est 0 et le premier caractère analysé est « 0 », entier octal est supposé et un caractère '8' ou '9' arrête l’analyse.

RoutineEn-tête requis
_strtoui64<stdlib.h>
_wcstoui64<stdlib.h> ou <wchar.h>
_strtoui64_l<stdlib.h>
_wcstoui64_l<stdlib.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

// 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  

Conversion de données
Paramètres régionaux
localeconv
SetLocale, _wsetlocale
Chaîne à des fonctions de valeur numérique
strtod, _strtod_l, wcstod, _wcstod_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
atof, _atof_l, _wtof, _wtof_l

Afficher: