Nous recommandons d’utiliser Visual Studio 2017

strtoimax, _strtoimax_l, wcstoimax, _wcstoimax_l

 

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

Convertit une chaîne en une valeur entière de type plus grand entier signé pris en charge.

intmax_t strtoimax(  
   const char *nptr,  
   char **endptr,  
   int base   
);  
intmax_t wcstoimax(  
   const wchar_t *nptr,  
   wchar_t **endptr,  
   int base   
);  
intmax_t _strtoimax_l(  
   const char *nptr,  
   char **endptr,  
   int base,  
   _locale_t locale  
);  
intmax_t _wcstoimax_l(  
   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.

strtoimaxRetourne la valeur qui est représentée dans la chaîne nptr, sauf lorsque la représentation entraînerait un dépassement de capacité, dans ce cas, elle retourne INTMAX_MAX ou INTMAX_MIN, et errno est défini sur ERANGE. La fonction retourne 0 si aucune conversion ne peut être effectuée. wcstoimaxRetourne des valeurs de manière similaire à strtoimax.

INTMAX_MAXet INTMAX_MIN sont définis dans stdint.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.

Pour plus d’informations sur les codes de retour, voir errno, _doserrno, _sys_errlist et _sys_nerr.

Le strtoimax fonction convertit nptr à un intmax_t. La version à caractères larges de strtoimax est wcstoimax; son nptr argument est une chaîne à caractères larges. Dans le cas contraire, 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 qui est supérieur ou égal à base.

Le paramètres régionaux LC_NUMERIC catégorie détermine la reconnaissance du caractère de base nptr; pour plus d’informations, consultez setlocale, _wsetlocale. Les fonctions qui n’ont pas la _l suffixe utilisent les paramètres régionaux ; _strtoimax_l et _wcstoimax_l sont identiques aux fonctions correspondantes qui n’ont pas la _l suffixe, sauf qu’elles utilisent à la place les paramètres régionaux qui lui sont passée. 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 qui est indiqué 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 qui est indiqué par endptr.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tcstoimaxstrtoimaxstrtoimaxwcstoimax
_tcstoimax_lstrtoimax_l_strtoimax_l_wcstoimax_l

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

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

Un whitespace peut contenir les caractères espace et la tabulation, qui sont 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 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 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 » s’arrête l’analyse.

RoutineEn-tête requis
strtoimax, _strtoimax_l, wcstoimax, _wcstoimax_l<inttypes.h></inttypes.h>

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

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
strtol, wcstol, _strtol_l, _wcstol_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
strtoumax, _strtoumax_l, wcstoumax, _wcstoumax_l
atof, _atof_l, _wtof, _wtof_l

Afficher: