STRTOL(3) Manuel du programmeur Linux STRTOL(3)
NOM
strtol - Convertir une chaîne en un entier long.
SYNOPSIS
#include <stdlib.h>
long int strtol (const char *nptr, char **endptr, int base);
DESCRIPTION
La fonction strtol() convertit la chaîne nptr en un entier
long en fonction de l'argument base, qui doit être dans
l'intervalle 2 a 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 iss
pace(3). Un signe eéentuel `+' 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 a 10, la
lettre `A' (majuscule ou minuscule) représente 10, `B'
represente 11, et ainsi de suite jusqu'à `Z' representant
35.
Si endptr n'est pas NULL, strtol() stocke l'adresse du
premier caractère invalide dans *endptr. S'il n'y avait
aucun chiffre valide, strtol() stocke la valeur originale
de nptr dans *endptr. (Donc, si *nptr n'est pas `\0' et
si **endptr vaut `\0' en retour, la chaîne entière est
valide.)
VALEUR RENVOYÉE
La fonction strtol() renvoie le résultat de la conversion,
à moins qu'un débordement superieur (overflow) ou
inférieur (underflow) se produise. Si un dépassement
inférieur se produit, strtol() renvoie LONG_MIN. Si un
dépassement supérieur se produit, strtol() renvoie
LONG_MAX. Dans les deux cas, errno contient le code
d'erreur ERANGE.
ERREURS
ERANGE La chaîne n'était pas dans l'intervalle acceptable,
la valeur a été arrondie.
CONFORMITÉ
SVID 3, BSD 4.3, ISO 9899
GNU 10 Novembre 1996 1
STRTOL(3) Manuel du programmeur Linux STRTOL(3)
VOIR AUSSI
atof(3), atoi(3), atol(3), strtod(3), strtoul(3)
BUGS
La fonction strtol() ignore la localisation.
TRADUCTION
Christophe Blaess, 1997.
GNU 10 Novembre 1996 2