Conversion de char en int ? [Résolu]

Signaler
Messages postés
258
Date d'inscription
samedi 25 décembre 2004
Statut
Membre
Dernière intervention
13 novembre 2012
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Salut,
Je débute en c++... dans mon programme j'aimerai additionner les valeurs entrées en argument dans le main (argv). Le problème est que la variable argv est de type char...peut on la convertir en integer ? en vb.net j'aurais fais cInt(argv[1]) ...ou bien ctype(argv[1],int) ...y a-t'il un équivalent en c++ ?

Merci

-Jn-

6 réponses

Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Salut !

Il y a : int Entier = atoi(Chaine);

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
et en C++:

#include <sstream>

std::istringstream iss(argv[1]);
int value;
if (iss >> value)
   succes
else
   error
Messages postés
258
Date d'inscription
samedi 25 décembre 2004
Statut
Membre
Dernière intervention
13 novembre 2012

Super merci ! Est-ce mieu d'utiliser le sstream? Ou bien le AtoI suffit amplement?
Sinon c'est super ! Merci bcp !

P.S. Vous risquez de me voir souvent sur le forum ses temps si! Je suis bien déterminé à apprendre le c++! VB.net et VB6 c'est bien, mais le c++ à l'aire très amusant !

-Jn-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
28
Tu as 2 réponses différentes, yoyo269 te donne la version C et luthor C++.
Je te suggère de bien maitriser le C avant d'utiliser les couches d'abstraction du C++, c'est le seul moyen pour comprendre ce qui se passe vraiment et pouvoir espérer un jour produire un code optimisé.

ciao...
BruNews, MVP VC++
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
atoi n'est pas super car quand elle retourne 0 on ne sait pas si c'est un retour correct ou un code d'erreur.

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
28
C'est seulement affaire de comment on regarde le sujet, itoa() m'a toujours paru totalement cohérent.
Ajouter un nbr avec un NON nombre donc rien, normal que soit idem à: nbr + 0
Suffit de tester: sznbr[0] < 48 || sznbr[0] > 57

ciao...
BruNews, MVP VC++