Taille de tableau de string de taille variable [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 février 2010
-
Messages postés
21
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
-
Bonjour,

J'ai un petit soucis de débutant : comment determiner la taille (nombre d'élément) d'un tableau de string, sachant que les string n'ont pas la tous la même taille ?

en fait j'ai plusieurs tableau de string genre ;

string un[]={a,aa,aaa};
string deux[]={b,bb,bbb,bbbb,bbbbb,bbbbbb};
string trois[]={c,ccc,aaa,cc,bbbb,aaaaaa,ccccccc,vvvvvv};

et je veux dans une fonction le parcourir pour trouver (ou pas) une occurence d'un string. En ce moment je fais :

bool islist(string mystring,string mylist[])
{
for (int i=0; ???????? ;i++)
{
if (mystring==mulist[i]) return true;
}
return false;
}

mon soucis étant que tous mes tableaux n'ont pas la meme taille ET les string à l'intérieur n'ont pas non plus la même taille ...

quelqu'un a t il une solution ? ou bien suis je obligé de revoir TOUTTTT mon code pour passer en vector ?
merci d'avance

4 réponses

Messages postés
92
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
23 septembre 2015

euh bonne question, essaie avec sizeof mais j'ai un doute, sinon tu pourrais te créer une structure qui contient un tableau de string et sa taille, sinon, effectivement vector.


Coin coin !
Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
Heu attends là. Si tu as accès au std::vector, alors tu es en C++. Pourquoi utilises-tu des tableaux comme en C ?

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Messages postés
2
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 février 2010

ouep je sais, j'aurais du partir sur les vector direct ... mais au début c'était des tour petits tableaux... résultat je suis partis sur les tableaux ..
defini quelques fonctions utiles et voilou ...

Bon au final pour pas trop galerer j'ai utilisé la technique de dragonjoker59 : à savoir définir pour chacun de mes tableux un int contenant sa taille ..

puis j'ai ajouté cette taille en paramètres de ma fonction islist (..., ... , int taille);

du coup après moulte search & replace ... ça fonctionne

c pas top mais ça fonctionne ... je verrais une fois le programme entier fini pour les optimisations

Merci
Messages postés
21
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
1 mai 2010

Pourquoi ne pas simplement créer une fonction qui parcourt ta chaine de caractère avec un cpt. Tant que tu n'as pas atteint '\0', tu incrémentes cpt à chaque caractère rencontré.