bonjour à tous,
je suis bloqué sur un problème de C++ avec les strings et les vectors.
j'ai un vector contenant des std::string, et je souhaiterais extraire
de ces strings un de leur caractere afin de le convertir en int.
en gros j'ai string s="mot 1";
et je veux arriver à la fin à int x avec x=1, sachant que ma string est contenue dans un vector.
voila ce que j'ai fait qui ne marche pas:
vector<string> strvect;
char * debut;
debut = (char*)malloc(50*sizeof (char));
char * buffer;
buffer = (char*)malloc(50*sizeof (char));
debut = strdup("mot1 mot2 mot3 mot4 mot5");
// remplissage du vector
buffer = strtok(debut, " ");
while (buffer != NULL)
{
strvect.push_back(buffer);
buffer = strtok(NULL, " ");
}
for (int i=0;i<5;i++)
{
cout<<strvect[i]<<endl;
}
// recuperation du numero de chaque mot
char c;
string s;
s = strvect.pop_back();
cout<<s;
strcpy(buffer , s.c_str());
c = s[3];
printf("xx->%c\n",c);
ps: je vois bien que s ne recoit pas la bonne valeur et declenche le crash mais je ne sais pas comment faire...
si quelqu'un peut m'aider ca serait bien sympa de sa part.
Merci d'avance à vous.