Les MANs Linux en français...
STRTOL
Section: Manuel du programmeur Linux (3)Updated: 6 juin 2001
Index Retour au Menu Principal
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 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 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 (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.
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 9899VOIR AUSSI
atof(3), atoi(3), atol(3), strtod(3), strtoul(3)BOGUES
La fonction strtol() ignore la localisation.TRADUCTION
Christophe Blaess, 1997.
Index
Time: 22:30:07 GMT, December 19, 2004