_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Convertit une chaîne en valeur non signée d' __int64 .
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 le caractère NULL à convertir.endptr
Pointeur vers le caractère qui arrête l'analyse.base
Base numérique à utiliser.locale
Paramètres régionaux à utiliser.
Valeur de retour
_strtoui64retourne la valeur représentée dans la chaîne nptr, sauf lorsque la représentation peut provoquer un dépassement de capacité, auquel cas il retourne _UI64_MAX._strtoui64retourne 0 si aucune conversion ne peut être exécutée.
_UI64_MAX est défini dans LIMITS.H.
Si nptr est NULL ou base est différent de zéro et inférieur à 2 ou supérieure à 36, errno est défini à EINVAL.
Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour plus d'informations sur ce point, ainsi que d'autres, les codes de retour.
Notes
la fonctiond' _strtoui64convertit nptr à unsigned __int64._wcstoui64 est une version à caractère élargi d' _strtoui64; son argument d' nptr est une chaîne à caractères larges.Sinon ces fonctions ont un comportement identique.
Arrêt de les deux fonctions lisant la chaîne nptr au premier caractère qu'ils ne peuvent pas identifier dans le cadre d'un nombre.Cela peut être le caractère NULL de fin, ou peut être le premier chiffre supérieur ou égal à base.
mappages de routines de texte générique
routine de TCHAR.H |
_MBCS & de _UNICODE non défini |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
le paramètre actuel de catégorie d' LC_NUMERICdes paramètres régionaux détermine la reconnaissance du caractère de base dans nptr; pour plus d'informations, consultez setlocale.Les fonctions sans le suffixe de _l utilisent les paramètres régionaux ; _strtoui64_let_wcstoui64_lsont identiques aux fonctions correspondantes sans le suffixe d' _l à la différence qu'ils utilisent les paramètres régionaux passés à la place.Pour plus d'informations, consultez Paramètres régionaux.
Si endptr n'est pas NULL, un pointeur vers le caractère qui a arrêté l'analyse est stocké dans l'emplacement pointé par endptr.Si aucune conversion ne peut être exécutée (aucun chiffre valide n'a été trouvé ou une base non valide a été spécifiée), la valeur d' nptr est enregistrée à l'emplacement pointé par endptr.
_strtoui64attend nptr indique une chaîne au format suivant :
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
whitespacepeut se composer d'espaces et des tabulations, qui sont ignorés ; digitssont un ou plusieurs chiffres décimaux.Le premier caractère qui ne rentre pas les arrêts de ce formulaire l'analyse.Si base est comprise entre 2 et 36, il est utilisé comme base du nombre.Si base est 0, les caractères initiaux de la chaîne désignée par nptr utilisés pour déterminer la base.Si le premier caractère est 0 et le deuxième caractère n'est pas « x » ou « X », la chaîne est interprétée comme un entier octal ; sinon, il est interprète comme un nombre décimal.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 » à « z » (ou « A » à « Z ") sont assignées les valeurs 10 et 35 ; seuls les lettres dont les valeurs attribuées sont moins qu' base sont autorisées.
Configuration requise
routine |
en-tête requis |
---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<stdlib.h> ou <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<stdlib.h> ou <wchar.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
// 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 );
}
Voir aussi
Référence
Chaîne aux fonctions de valeur numérique
strtod, _strtod_l, wcstod, _wcstod_l