Question sur strtol (conversion de char* en int) [C] - C - Programmation
Marsh Posté le 19-02-2004 à 14:52:41
en testant simplement s'il y a des caracteres != des caracteres numériques dans ta chaine AVANT conversion
Marsh Posté le 19-02-2004 à 15:44:26
ixemul a écrit : en testant simplement s'il y a des caracteres != des caracteres numériques dans ta chaine AVANT conversion |
Marsh Posté le 19-02-2004 à 16:04:27
Je suis allé voir le man, voici la section sur le retour :
Upon successful completion, strtol(), strtoll(), atol(),
atoll(), and atoi() return the converted value, if any. If
no conversion could be performed, strtol() and strtoll(
return 0 and errno may be set to EINVAL.
si retour==0, regarde si errno==EINVAL
Marsh Posté le 19-02-2004 à 18:18:44
Bon en fait j'ai pas besoin de cette fonction
(je lis depuis un buffer, caractère par caractère, donc autant traiter les chiffres directement plutôt que de les stocker dans une chaine puis utiliser strtol() dessus).
M'enfin merci, ça me servira pour plus tard.
(je sais pas pourquoi, j'ai carrément zappé les autres params...)
Marsh Posté le 12-05-2005 à 16:25:23
max2048 a écrit : Bonjour, |
En utilisant le 2 ème paramètre.
|
Marsh Posté le 19-02-2004 à 14:33:49
Bonjour,
Je voudrais convertir une chaine de caractères représentant un entier. J'utilise donc la fonction strtol() qui renvoie la valeur correspondante si la conversion c'est bien passée, ou 0 sinon.
Ma question : Comment faire la différence entre :
- la valeur de retour 0 parce que la chaîne à convertir était "0"
et :
- la valeur de retour 0 parce qu'il y avait une erreur dans la chaine (par exemple "1a3" ) ?
Merci