Conversion string -> entier [Résolu]

Messages postés
172
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
13 octobre 2008
- - Dernière réponse : cs_Joky
Messages postés
1791
Date d'inscription
lundi 22 novembre 2004
Dernière intervention
31 janvier 2009
- 1 mai 2007 à 13:25
Bonjour!

J'ai un petit probleme, je debute en C++...

J'aimerais savoir comment passer d'une chaine qui contient un entier a un entier

je m'explique par exemple:

string s="12";
int i= strToInt(s);

J'ai essayé de cherché, par exemple avec atof:
int str = (int) atof(str);

Mais çà ne marche pas parce que atof prend en parametre un const char* et pas une string

Merci de votre aide
Afficher la suite 

Votre réponse

6 réponses

Messages postés
1791
Date d'inscription
lundi 22 novembre 2004
Dernière intervention
31 janvier 2009
0
Merci
atoi(s.c_str(), Buff, 10);

if(!Meilleur("Joky")) return ERREUR;<
Commenter la réponse de cs_Joky
Messages postés
168
Date d'inscription
mardi 27 juillet 2004
Dernière intervention
28 novembre 2012
0
Merci
Tu peux aussi utiliser la class sstream.h ou sstream avec le code suivant:

#include <sstream>
....
....

using namespace std;

int ConvStringEntier(string a)


{


istringstream iss(a);

int tmp;
iss>>tmp; //on introduit a dans tmp ki est un type int
//maintenant, tmp contient le string convertit en entier
return tmp;

}

Pour plus de renseignements, telecharge la faq c++ sur www.developpez.com


Only the strong survive.
Commenter la réponse de imothepe_33
Messages postés
172
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
13 octobre 2008
0
Merci
Ok, merci a tous je vais essayez tout çà...
Commenter la réponse de Sat83
Messages postés
554
Date d'inscription
samedi 6 septembre 2003
Dernière intervention
6 mars 2010
0
Merci
bonsoir,


atoi(s.c_str(), Buff, 10); -> ???

#include <stdlib.h>
int atoi (const char *nptr);

Matt...

ps : il y a un ! de trop dans ta signature ;-)
Commenter la réponse de cs_Matt67
Messages postés
1
Date d'inscription
lundi 30 avril 2007
Dernière intervention
30 avril 2007
0
Merci
Bonjour à tous,

Un petit exemple vaut mieux qu'un long discours

______________________________________________

#include
#include <string>

using namespace std;

int main()
{
string chaine("123");
int i = 0;

i = atoi(chaine.c_str());

cout << "chaine " << chaine << ", i " << i << endl;

return 0;
}

______________________________________________

Voilà, ca compile en application console C++
Commenter la réponse de I3loodAngel
Messages postés
1791
Date d'inscription
lundi 22 novembre 2004
Dernière intervention
31 janvier 2009
0
Merci
C'est vrai que les exemples c'est beaucoup mieux.
Même 1 an et 3 mois après.
Mais c'est mieux :)

#include
Commenter la réponse de cs_Joky

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.