Bonjour tous,

j'ai besoin d'aide pour quelque chose surement assez facile pour vous mais que je ne vois pas trop comment faire.

1°) mon problème:


j'ai une fonction qui lit un fichier texte et met un "string" dans la variable "AAA" qui est biensur de type string.
le texte est du type: A3B8, ou AA99RR1, ou A9R1E6R7

dans ce texte il y a 1 ou 2 lettre puis 1 ou 2 chiffre puis 1 ou 2 lettre puis 1 ou 2 chiffres.... etc

2°) ce que je voudrais faire:


par exemple pour AA8B99:

je voudrais faire un petit code qui permet de mettre AA et B dans les lignes d'un vector et 8 et 99 dans des lignes d'un autre vector


3°) tentative:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
void bibi
{
//---------
string AAA= "AA8B99";
int i, taille = AAA.size ();
vector <string> lettre;
vector <string> chiffre;
//---------
 
//---------
cout << "La chaine comporte " << taille << " caracteres." << endl;
 
for (i = 0 ; i < taille ; i++)
{
cout << "caractère " << i << " = " << AAA.at(i) << endl;
 
if (AAA.at(i)==texte)
{
       if (AAA.at(i+1)==texte)
       {
               lettre.push_back(AAA.at(i)+AAA.at(i+1))
       }
       else (AAA.at(i+1)==nombre)
       {
               lettre.push_back(AAA.at(i))
       }
}
else (AAA.at(i)==nombre)
{
       if (AAA.at(i+1)==nombre)
       {
               chiffre.push_back(AAA.at(i)+AAA.at(i+1))
       }
       else (AAA.at(i+1)==texte)
       {
               chiffre.push_back(AAA.at(i))
       }
}
}
}

4°) problème persistant:


mon problème comme vous avez du le remarquer dans le code est les conditions que je place dans les if et else:

J'aimerai que si AAA.at(i) est un nombre alors on fait quelque chose et si AAA.at(i) est une lettre alors on fait autre chose.


==> Le problème est comment détecter si l'on a un nombre ou une lettre car les nombres que j'ai dans AAA sont de type string


en esperant que vous pourrez m'aider

----------------------------------------
ps: J'ai pensé à faire une convertion de string vers double avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
istringstream iss1( AAA.at(i) );               
iss1 >> aaa;
mais je ne sais toujours pas comment m'en sortir meme avec cela...