Man page - strtouq(3)

Packages contains this manual

Available languages:

en fr nl ja ro

Manual

strtoul

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
VERSIONS
STANDARDS
HISTORIQUE
AVERTISSEMENTS
EXEMPLES
VOIR AUSSI
TRADUCTION

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 **_Nullable restrict
endptr , int base );
unsigned long long strtoull(const char *restrict
nptr ,
char **_Nullable 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 valeur 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 interprĂ©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 et base est prise en charge, strtoul () stocke l’adresse du premier caractĂš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 particulier, si *nptr n’est pas « \0\˜» et si **endptr vaut « \0\˜» en retour, la chaĂźne entiĂšre est valable.

La fonction strtoull () fonctionne comme strtoul (), mais renvoie une valeur 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 conversion 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

Cette fonction ne modifie par errno en cas de succĂšs.

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).

Image grohtml-3890037-1.png

VERSIONS

Dans des localisations autres que « C », d’autres chaĂźnes peuvent ĂȘtre acceptĂ©es. Par exemple, un signe sĂ©parateur de milliers pour la localisation 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 ().

STANDARDS

C11, POSIX.1-2008.

HISTORIQUE

strtoul ()

POSIX.1-2001, C89, SVr4.

strtoull ()

POSIX.1-2001, C99.

AVERTISSEMENTS

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.

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

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 Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.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.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 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 .