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
mais je ne sais toujours pas comment m'en sortir meme avec cela...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 istringstream iss1( AAA.at(i) ); iss1 >> aaa;
Partager