Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
strtoul, strtoull, strtouq - Convertir une chaine en entier long non
signe
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 de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
strtoull() :
XOPEN_SOURCE >= 600 || _BSD_SOURCE || _SVID_SOURCE ||
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99
DESCRIPTION
La fonction strtoul() convertit le debut de la chaine nptr en une
valeur de type unsigned long int en fonction de l'argument base, qui
doit etre dans l'intervalle 2 a 36 (bornes comprises), ou avoir la
valeur speciale 0.
La chaine peut commencer par un nombre quelconque d'espaces ou de
caracteres interpretes comme tels par isspace(3). Un signe eventuel
<< + >> ou << - >> peut suivre. Si base vaut 0 ou 16, la chaine peut
inclure un prefixe << 0x >> et le nombre sera interprete en base 16.
Sinon, une base valant zero est interpretee comme 10 (decimale) sauf si
le caractere suivant est << 0 >>, auquel cas la base est 8 (octale).
Le reste de la chaine est converti en une valeur de type unsigned long
int, en s'arretant au premier caractere qui ne soit pas un chiffre
valable. Dans les bases superieures a 10, la lettre << A >> (majuscule
ou minuscule) represente 10, << B >> represente 11, et ainsi de suite
jusqu'a << Z >> representant 35.
Si endptr n'est pas NULL, strtoul() stocke l'adresse du premier
caractere 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 chaine entiere est valide.
La fonction strtoull() travaille comme strtoul() mais renvoie une
valeur entiere de type unsigned long long int.
VALEUR RENVOY'EE
La fonction strtoul() renvoie soit le resultat de la conversion, soit,
s'il y avait un signe moins, l'oppose du resultat de la conversion
representee comme une valeur non signee, a moins que la valeur
originale provoque un debordement, auquel cas strtoul() renvoie
ULONG_MAX et errno contient le code d'erreur ERANGE. La meme chose est
vraie pour strtoull() avec ULLONG_MAX a la place de ULONG_MAX.
ERREURS
EINVAL (pas dans C99) La base indiquee n'est pas supportee.
ERANGE La valeur retournee est hors limites.
L'implementation peut aussi mettre errno a EINVAL si aucune conversion
n'a ete realisee (pas de chiffres trouves, et renvoye zero).
CONFORMIT'E
strtoul() est conforme a SVr4, C89, C99 et POSIX-2001, et strtoull() a
C99 et POSIX.1-2001.
NOTES
Comme strtoul() peut legitimement renvoyer 0 ou LONG_MAX (LLONG_MAX
pour strtoull()) a la fois en cas de succes et d'echec, le programme
appelant doit positionner errno a 0 avant l'appel, et determiner si une
erreur s'est produite en regardant si errno a une valeur non nulle
apres l'appel.
Dans des localisations autre que << C >>, d'autres chaines peuvent etre
acceptees. Par exemple, un signe separateur de milliers pour la
localisation actuelle peut etre accepte.
BSD a aussi
u_quad_t strtouq(const char *nptr, char **endptr, int base);
avec une definition exactement analogue. Suivant l'architecture, cela
peut etre equivalent a strtoull() ou strtoul().
Des valeurs negatives sont considerees comme valides, et sont
converties en une valeur de type unsigned long int equivalente sans
avertissement.
EXEMPLE
Consultez l'exemple dans la page de manuel strtol(3) ; l'utilisation
des fonctions decrites dans cette page de manuel est identique.
VOIR AUSSI
atof(3), atoi(3), atol(3), strtod(3), strtol(3)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Nicolas
Francois et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.