dwww Home | Manual pages | Find package

strtoul(3)                 Library Functions Manual                 strtoul(3)

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

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <stdlib.h>

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

   Exigences de macros de test de fonctionnalités  pour  la  glibc  (consulter
   feature_test_macros(7)) :

       strtoull() :
           _ISOC99_SOURCE
               || /* glibc <= 2.19 : */ _SVID_SOURCE || _BSD_SOURCE

DESCRIPTION
       La  fonction  strtoul() convertit le début de la chaîne nptr en une va-
       leur de type unsigned long 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  (tels  que
       définis  par  isspace(3)) suivis d'un éventuel signe « + » ou « - ». 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 in-
       terprétée comme 10 (base décimale) sauf si  le  caractère  suivant  est
       « 0 », auquel cas la base est 8 (base octale).

       Le reste de la chaîne est converti en une valeur de type unsigned long,
       en s'arrêtant au premier caractère qui n'est  pas  un  chiffre  valable
       dans la base indiquée. 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 carac-
       tère non autorisé dans *endptr. S'il n'y  a  aucun  chiffre,  strtoul()
       stocke la valeur originale de nptr dans *endptr (et renvoie 0). En par-
       ticulier, si *nptr n'est pas « \0\ » et si **endptr vaut « \0\ » en re-
       tour, la chaîne entière est valable.

       La fonction strtoull() fonctionne comme strtoul(), mais renvoie une va-
       leur entière de type unsigned long long.

VALEUR RENVOYÉE
       La fonction strtoul() renvoie soit le résultat de la conversion,  soit,
       s'il y avait un signe moins en tête, l'opposé du résultat de la conver-
       sion représentée comme une valeur non signée, à  moins  que  la  valeur
       originale  ne  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 prise en charge.

       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 0 renvoyé).

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌──────────────────────────────┬──────────────────────┬────────────────┐
       │InterfaceAttributValeur         │
       ├──────────────────────────────┼──────────────────────┼────────────────┤
       │strtoul(), strtoull(),        │ Sécurité des threads │ MT-Safe locale │
       │strtouq()                     │                      │                │
       └──────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS
       strtoul() : POSIX.1-2001, POSIX.1-2008, C99 SVr4.

       strtoull() : POSIX.1-2001, POSIX.1-2008, C99.

NOTES
       Comme strtoul() peut légitimement renvoyer 0 ou  ULONG_MAX  (ULLONG_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 autres que « C », d'autres chaînes peuvent  être
       acceptées. Par exemple, un signe séparateur de milliers pour la locali-
       sation utilisée 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 valables et sont conver-
       ties en une valeur de type unsigned long  équivalente  sans  avertisse-
       ment.

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

VOIR AUSSI
       a64l(3), atof(3), atoi(3), atol(3), strtod(3), strtol(3), strtoumax(3)

TRADUCTION
       La traduction française de cette page de manuel a été créée par  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois  Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Gué-
       rard <fevrier@tigreraye.org>, Jean-Luc  Coulon  (f5ibh)  <jean-luc.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.org>,  David  Prévot  <david@tilapin.org>  et Grégoire Scano <gre-
       goire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la        GNU        General       Public       License       version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant  les  conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03   5 février 2023                      strtoul(3)

Generated by dwww version 1.15 on Sat Jun 29 01:43:31 CEST 2024.