Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       strtoul,  strtoull,  strtouq  - Convertir une chaîne en entier long non
       signé

SYNOPSIS

       #include <stdlib.h>

       unsigned long int
       strtoul(const char *nptr, char **endptr, int base);

       unsigned long long int
       strtoull(const char *nptr, char **endptr, int base);

   Exigences pour les macros de test de fonctionnalité de la glibc  (consultez
   feature_test_macros(7)) :

       strtoull() : XOPEN_SOURCE >= 600 || _BSD_SOURCE || _SVID_SOURCE ||
       _ISOC99_SOURCE ; ou cc -std=c99

DESCRIPTION

       La fonction strtoul() convertit la chaîne nptr en un  entier  long  non
       signé en fonction de l’argument base, qui doit être dans l’intervalle 2
       à 36 (bornes comprises), ou avoir la valeur spéciale 0.

       La chaîne peut commencer par  un  nombre  quelconque  d’espaces  ou  de
       caractères  interprétés  comme  tels  par isspace(3). Un signe éventuel
       « + » ou « - » peut suivre. Si base  vaut  0  ou  16,  la  chaîne  peut
       inclure  un  préfixe  « 0x »  et  le nombre sera interprété en base 16.
       Sinon, une base valant zéro est interprétée comme 10 (décimale) sauf si
       le caractère suivant est « 0 », auquel cas la base est 8 (octale).

       Le  reste  de  la  chaîne est converti en une valeur entière longue, en
       s’arrêtant au premier caractère qui ne soit pas un chiffre valide. Dans
       les  bases  supérieures  à 10, la lettre « A » (majuscule ou minuscule)
       représente 10, « B » représente 11, et ainsi  de  suite  jusqu’à  « Z »
       représentant 35.

       Si  endptr  n’est  pas  NULL,  strtoul()  stocke  l’adresse  du premier
       caractère invalide dans *endptr. S’il n’y avait aucun  chiffre  valide,
       strtoul()  stocke  la valeur originale de nptr dans *endptr (et renvoie
       0). En particulier, si *nptr n’est pas ’\0’ et si **endptr vaut ’\0’ en
       retour, la chaîne entière est valide.

       La  fonction  strtoull()  travaille  comme  strtoul()  mais renvoie une
       valeur entière « long long » non signée.

VALEUR RENVOYÉE

       La fonction strtoul() renvoie soit le résultat de la conversion,  soit,
       s’il  y  avait  un  signe  moins, l’opposé du résultat de la conversion
       représentée comme  une  valeur  non  signée,  à  moins  que  la  valeur
       originale   provoque  un  débordement,  auquel  cas  strtoul()  renvoie
       ULONG_MAX et errno contient le code d’erreur ERANGE. La même chose  est
       vraie pour strtoull() avec ULLONG_MAX à la place de ULONG_MAX.

ERREURS

       EINVAL (pas dans C99) La base indiquée n’est pas supportée.

       ERANGE La valeur retournée est hors limites.

       L’implémentation  peut aussi mettre errno à EINVAL si aucune conversion
       n’a été réalisée (pas de chiffres trouvés, et renvoyé zéro).

CONFORMITÉ

       strtoul() est conforme à SVr4, C89, C99 et POSIX-2001, et strtoull()  à
       C99 et POSIX.1-2001.

NOTES

       Comme  strtoul()  peut  légitimement  renvoyer 0 ou LONG_MAX (LLONG_MAX
       pour strtoull()) à la fois en cas de succès et  d’échec,  le  programme
       appelant doit positionner errno à 0 avant l’appel, et déterminer si une
       erreur s’est produite en regardant si errno  a  une  valeur  non  nulle
       après l’appel.

       Dans  des  localisations autre que « C », d’autres chaînes peuvent être
       acceptées. Par  exemple,  un  signe  séparateur  de  milliers  pour  la
       localisation actuelle peut être accepté.

       BSD a aussi

           u_quad_t
           strtouq(const char *nptr, char **endptr, int base);

       avec  une  définition exactement analogue. Suivant l’architecture, cela
       peut être équivalent à strtoull() ou strtoul().

       Des  valeurs  négatives  sont  considérées  comme  valides,   et   sont
       converties  en une valeur unsigned long équivalente sans avertissement.

EXEMPLE

       Voyez l’exemple dans la page de manuel  strtol(3) ;  l’utilisation  des
       fonctions décrites dans cette page de manuel est identique.

VOIR AUSSI

       atof(3), atoi(3), atol(3), strtod(3), strtol(3)

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».