Share via


strtoumax, _strtoumax_l, wcstoumax, _wcstoumax_l

Convertit des chaînes en valeur entière du plus grand type d'entier non signé pris en charge.

uintmax_t strtoumax(
   const char *nptr,
   char **endptr,
   int base 
);
uintmax_t _strtoumax_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
uintmax_t wcstoumax(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
uintmax_t _wcstoumax_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.

Valeur de retour

strtoumax retourne la valeur convertie, le cas échéant, ou UINTMAX_MAX en cas de dépassement de capacité. strtoumax retourne 0 si aucune conversion ne peut être exécutée. wcstoumax retourne les valeurs de façon analogue à strtoumax. Pour les deux fonctions, errno a la valeur ERANGE en cas de surcapacité ou de sous-capacité.

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

Notes

Chacune de ces fonctions convertit la chaîne d'entrée nptr à une valeur entière uintmax_t.

La fonction strtoumax arrête de lire la chaîne nptr au premier caractère qu'elle ne peut pas reconnaître comme faisant partie 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 catégorie LC_NUMERIC des paramètres régionaux détermine la reconnaissance des caractères de base dans nptr. Pour plus d'informations, consultez setlocale, _wsetlocale. strtoumax et wcstoumax utilisent les paramètres régionaux ; _strtoumax_l et _wcstoumax_l sont identiques sauf qu'ils utilisent plutôt les paramètres régionaux qui sont passés. Pour plus d'informations, consultez Paramètres régionaux.

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

La version à caractères larges de strtoumax est wcstoumax; son argument nptr est une chaîne à caractères larges. Sinon, ces fonctions se comportent sinon de façon identique.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tcstoumax

strtoumax

strtoumax

wcstoumax

_tcstoumax_l

strtoumax_l

_strtoumax_l

_wcstoumax_l

strtoumax attend nptr pour pointer vers une chaîne au format suivant :

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

Un whitespace peut se composer d'espaces et de caractères de tabulation, qui sont ignorés ; les digits se composent d'un ou plusieurs chiffres décimaux ; les letters se composent d'une ou plusieurs lettres entre « a » et « z » (ou de « A » à « Z »). Le premier caractère qui ne correspond pas à ce formulaire arrête l'analyse. Si base est compris entre 2 et 36, il est utilisé comme base du nombre. Si base est 0, les caractères initiaux de la chaîne qui est désignée par nptr sont 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. 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 compris entre « 1 » et « 9 », la chaîne est interprétée comme un entier décimal. Les valeurs 10 à 35 sont assignées aux lettres « à » à « z » (ou « À » à « Z ») ; seules les lettres dont les valeurs assignées sont inférieures à base sont autorisées. Le premier caractère en dehors de la plage de la base arrête l'analyse. Par exemple, si base correspond à 0 et le premier caractère analysé est « 0 », un entier octal est supposé et un caractère « 8 » ou « 9 » arrêterait l'analyse. strtoumax autorise un préfixe de signe plus (+) ou de signe moins (–) ; un signe moins indique que la valeur de retour est le complément des deux de la valeur absolue de la chaîne convertie.

Configuration requise

Routine

En-tête requis

strtoumax

<stdlib.h>

wcstoumax

<stdlib.h> ou <wchar.h>

_strtoumax_l

<stdlib.h>

_wcstoumax_l

<stdlib.h> ou <wchar.h>

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

Exemple

Consultez l'exemple de strtod.

Équivalent .NET Framework

System::Convert::ToUInt64

Voir aussi

Référence

Conversion de données

Paramètres régionaux

localeconv

setlocale, _wsetlocale

Fonctions de valeur chaîne en valeur numérique

strtod, _strtod_l, wcstod, _wcstod_l

strtoimax, _strtoimax_l, wcstoimax, _wcstoimax_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