Syntaxe :
#include <cstdlib> long strtol (const char *debut, char **fin, int base);
La fonction strtol()
renvoie un entier de type long
en convertissant
les premiers caractères rencontrés dans debut
en convertissant au besoin
en base base
.
fin
est modifié par strtol()
pour pointer sur le reste de la chaîne
de caractère, après lecture du nombre.
Si le résultat ne peut être représenté par un long
, alors strtol()
renvoie soit LONG_MAX
ou LONG_MIN
.
En cas d'erreur, zéro est renvoyé.
fin
peut valoir NULL
, mais ce n'est pas recommandé puisque le test
de la différence entre debut
et fin
est le seul moyen de savoir s'il
y a eu une erreur (représentée par 0) ou si le nombre lu est bel et bien 0.
Si LONG_MAX
ou LONG_MIN
est retourné, errno
vaudra ERANGE
.