convertir une chaine de char en entier - C++ - Programmation
Marsh Posté le 10-11-2009 à 19:57:47
boost::tokenizer pr séparer lettres et chiffres, puis std::ostringstream pr parser les entier.
Sinon boost::regex ou boost::spirit
Marsh Posté le 10-11-2009 à 20:52:46
minibox a écrit : avec "atoi" ca fonctionne pas? |
sans dec, un étudiant de 1er année comprend de lui même pourquoi atoi est toute pourrie
Marsh Posté le 11-11-2009 à 18:42:28
y a moyen de comparer 2 caractères entre eux avec le code ascii ou je sais pas? Comme ça je compare si mon ch[i]>=code ascii 0 && ch[i]<=code ascii 9
Marsh Posté le 11-11-2009 à 19:14:40
Code :
|
ça ne m'affiche que des 0
Marsh Posté le 11-11-2009 à 19:57:11
Ha, ha, presque bon (enfin, si on passe le fait que c'est du C plus que du C++)
Edit: ça t'affiche que des 0, parce que tu transmet toujours "ch" comme paramètre à atoi, ch qui commence par "sd", qui te renverra 0.
Code :
|
Marsh Posté le 11-11-2009 à 20:26:31
ça ne m'affiche que des zero aussi enfin 6 zeros et il y a 6 valeurs numérique
Marsh Posté le 11-11-2009 à 20:37:35
j'ai trouvé
Code :
|
et ça marche merci
Marsh Posté le 11-11-2009 à 21:16:53
Arf, bien vu, j'ai retouché le code à la dernière minute.
Sinon, fait quand même attention au buffer overflow. Le coup du "int tab[6];", c'est très très casse gueule, faudrait vérifier dans la boucle qu'on ne déborde pas ou utiliser un truc du style std::vector.
Marsh Posté le 10-11-2009 à 17:46:22
Bonjour, voilà mon problème j'ai une chaine de caractère : sqd12dfg30rff1250
je voudrais mettre les valeurs comprises entre 10 et 30 dans un tableau.
mon problème est que je ne vois pas comment passer de ma chaine à un entier ?
Merci