comment bien utiliser strtol ?

comment bien utiliser strtol ? - C++ - Programmation

Marsh Posté le 28-06-2004 à 12:36:32    

salut all
 
sur les bons conseils de certains d'entre vous (dont Taz), je souhaite utiliser strtol, et notemment la gestion des erreurs. ma question : comment faire ?
 
voila un bout de code pour expliciter le problème :

Code :
  1. long int note = strtol(ma_chaine, NULL, 10);
  2.       if(/*j'ai pas d'erreur*/)
  3.  ma_fonction();


 
qu'est-ce que je dois mettre à la place de /*j'ai pas d'erreur*/ ? j'ai lu dans de la doc que j'erreur renvoyée est ERANGE, mais je ne sais pas comment exploiter ce retour. quelqu'un pourrait m'expliquer svp ?
 
merci beaucoup.

Reply

Marsh Posté le 28-06-2004 à 12:36:32   

Reply

Marsh Posté le 29-06-2004 à 19:57:39    

sivouplé

Reply

Marsh Posté le 29-06-2004 à 20:03:45    

lis un peu la doc, et vois ce que tu peux mettre à la place de NULL, à tous hasard :D
 
donc regarde déjà endptr, pourvoir ce qu'il s'est passé, puis la valeur de retour et errno

Reply

Marsh Posté le 30-06-2004 à 13:59:32    

ben justement je l'ai lue la doc, et j'ai pas vraiment compris... bon c'est vrai que je ne suis pas très malin, de base, ça aide pas. ;-)
j'ai souvent besoin d'un exemple pour comprendre. on se demande comment j'ai bien pu apprendre à lire.
 
à part ça, je vais essayer de faire des tests, on verra bien. merci pour ton enigme ;-)

Reply

Marsh Posté le 30-06-2004 à 14:05:49    

d'une part, surveille la valeur de retour : is c'est LONG_MAX ou LONG_MIN, y a sans doute eu overflow. si c'est 0, regarde comment est positionné endptr (le deuxième paramètre de sortie) qui pointe vers le premier caractère non convertit
 

Code :
  1. if(strtol(str, &endstr, 10) == 0 && str == enstr)
  2. { /* c'était pas un nombre */ }


Message édité par Taz le 30-06-2004 à 14:18:05
Reply

Marsh Posté le 30-06-2004 à 15:40:00    

merci pour ton exemple, ça m'aide beaucoup (j'étais en cours de comprentissage)

Reply

Marsh Posté le 30-06-2004 à 15:47:47    

lis bien la documentation de toutes façons

Reply

Marsh Posté le 11-07-2004 à 09:38:15    

erf, serais-ce un Taz poli et serviable que j'ai vu là ? Personnellement, je trouve que c'est mieux comme ça...

Reply

Marsh Posté le 11-07-2004 à 09:40:35    

s'pas normal, y doit être malade ...  :whistle:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed