| strtol | |||
Nomstrtol - Convertir une chaîne en un entier long.Synopsis#include <stdlib.h> long int strtol (const char *nptr, char **endptr, int base); DescriptionLa 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. (Donc, si *nptr n'est pas `\0' et si **endptr vaut `\0' en retour, la chaîne entière est valide.) Valeur RenvoyéeLa 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
ConformitéSVID 3, BSD 4.3, ISO 9899Voir Aussiatof(3) , atoi(3) , atol(3) , strtod(3) , strtoul(3)BoguesLa fonction strtol() ignore la localisation.
TraductionChristophe Blaess, 1997.
|