strtoull
, , _strtoull_l
wcstoull
, ,_wcstoull_l
Convertit des chaînes en unsigned long long
valeur entière.
Syntaxe
unsigned long long strtoull(
const char *strSource,
char **endptr,
int base
);
unsigned long long _strtoull_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
unsigned long long wcstoull(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
unsigned long long _wcstoull_l(
const wchar_t *strSource,
wchar_t **endptr,
int base,
_locale_t locale
);
Paramètres
strSource
Chaîne se terminant par un caractère Null à convertir.
endptr
Pointeur désignant le caractère qui arrête l’analyse.
base
Base numérique à utiliser.
locale
Paramètres régionaux à utiliser.
Valeur retournée
strtoull
retourne la valeur convertie, le cas échéant, ou ULLONG_MAX
en cas de dépassement de capacité positif. strtoull
retourne 0 si aucune conversion ne peut être effectuée. wcstoull
retourne des valeurs de façon analogue à strtoull
. Pour les deux fonctions, errno
prend la valeur ERANGE
si un dépassement de capacité positif ou négatif se produit.
Pour plus d’informations sur les codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
Notes
Chacune de ces fonctions convertit la chaîne d’entrée strSource
en valeur entière unsigned long long
.
strtoull
arrête la lecture de la chaîne strSource
au premier caractère qu’elle ne peut pas reconnaître dans le cadre d’un nombre. Il peut s’agir du caractère null de fin, ou il peut s’agir du premier caractère numérique supérieur ou égal à base
. Le paramètre de la LC_NUMERIC
catégorie des paramètres régionaux détermine la reconnaissance du caractère radix dans strSource
; pour plus d’informations, voir setlocale
, _wsetlocale
. strtoull
et wcstoull
utilisent les paramètres régionaux actifs ; _strtoull_l
et _wcstoull_l
utilisent à la place les paramètres régionaux transmis, mais sont sinon identiques. Pour plus d’informations, consultez Locale.
Si endptr
ce n’est pas NULL
le cas, un pointeur vers le caractère qui a arrêté l’analyse est stocké à l’emplacement vers lequel pointe endptr
. Si aucune conversion ne peut être effectuée (aucun chiffre valide n’a été trouvé ou la base spécifiée n’était pas valide), la valeur de strSource
est stockée à l’emplacement désigné par endptr
.
wcstoull
est une version à caractères larges de strtoull
et son argument strSource
est une chaîne de caractères larges. Sinon, ces fonctions se comportent de façon identique.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcstoull |
strtoull |
strtoull |
wcstoull |
_tcstoull_l |
strtoull_l |
_strtoull_l |
_wcstoull_l |
strtoull
s’attend à ce que strSource
pointe vers une chaîne au format suivant :
[
whitespace
] [{+
|-
}] [0
[{x
|X
}]] [] []digits
|letters
Un whitespace
espace et des tabulations peuvent être ignorés. digits
sont un ou plusieurs chiffres décimaux. letters
sont une ou plusieurs des lettres 'a' à 'z' (ou 'A' à 'Z'). Le premier caractère qui ne correspond pas à ce formulaire arrête l’analyse. Si base
la valeur est comprise entre 2 et 36, elle est utilisée comme base du nombre. Si base
a la valeur 0, les premiers caractères de la chaîne désignée par strSource
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 que le deuxième est « x » ou « X », la chaîne est interprétée comme étant un entier hexadécimal. Si le premier caractère est un chiffre compris entre « 1 » et « 9 », la chaîne est interprétée comme étant un entier décimal. Les lettres de « a » à « z » (ou de « A » à « Z ») se voient affecter des valeurs comprises entre 10 et 35 ; seules sont autorisées les lettres dont les valeurs affectées sont inférieures à base
. Le premier caractère situé en dehors de la plage de la base a pour effet d’arrêter l’analyse. Par exemple, si base
est égal à 0 et que le premier caractère analysé est « 0 », il est supposé qu’il s’agit d’un entier octal et un caractère « 8 » ou « 9 » a pour effet de stopper l’analyse. strtoull
autorise la présence d’un signe plus (+
) ou moins (-
) en guise de préfixe ; la présence d’un signe moins de début indique que le signe de la valeur de retour est inversé.
Spécifications
Routine | En-tête requis |
---|---|
strtoull |
<stdlib.h> |
wcstoull |
<stdlib.h> ou <wchar.h> |
_strtoull_l |
<stdlib.h> |
_wcstoull_l |
<stdlib.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
Consultez l’exemple pour strtod
.
Voir aussi
Conversion de données
Paramètres régionaux
localeconv
setlocale
, _wsetlocale
Chaîne à fonctions de valeur numérique
strtod
, , _strtod_l
wcstod
, ,_wcstod_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