Mémorise une partie de fhrase c++

Fermé
fox035 Messages postés 2 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 12 novembre 2009 - 11 nov. 2009 à 22:25
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 12 nov. 2009 à 06:52
Bonsoir, je vous explique mon problème : je travaille en c++, je dois ouvrir un fichier html, ensuite lire ligne par ligne et repérer toutes les balises <a href= “adresse_web” > . J’ai besoin de mémoriser (éventuellement en créant un autre fichier avec ofstrem) les différentes "adresse_web" pour pouvoir les réutiliser plus loin dans le programme.
J’arrive sans problème a ouvrir la page html, à lire ligne par ligne cette même page ( j’utilise ifstream et getline), mais je ne sais pas comment mémorise le lien. Comment faire ? merci de votre aide

3 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
12 nov. 2009 à 06:32
tu crées un tableau de string (par exemple un std::vector<string>) et chaque fois qu'il y a la ligne qui t'intéresse tu l'ajoutes au tableau (méthode pushback() )... Tout ça donc dans la boucle qui lit le fichier.
0
fox035 Messages postés 2 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 12 novembre 2009
12 nov. 2009 à 06:44
salut, merci pour ta réponse. Mon problème c’est que je ne sais pas comment chercher et trouver la ligne qui m’intéresse, d’ailleurs ce n’est pas une ligne mais seulement une partie de phrase. C'est-à-dire que dans le texte, il peut y avoir des <a href= “adresse_web” > et je dois “mémoriser” que 'adresse_web'. Comment coder tout ça ?
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
12 nov. 2009 à 06:52
D'abord tu stockes tout ton texte dans une string.

Ensuite tu as des méthodes/fonctions qui recherchent une partie de chaîne http://www.cplusplus.com/reference/string/string/find/ (par exemple "<a href=") que tu peux appeler en boucle et qui te donnes l'endroit (=le numéro du caractère dans la chaîne) où il le trouve.

Ensuite il faut prendre la sous chaine (voir substr) qui part de cet endroit (enfin, pas tout à fait!) et qui a jusqu'à la fin de la balise (enfin, pas tout à fait non plus). Remarque qu'il faut aussi chercher la fin de la balise ;). Et voilà, tu as ton lien en tant que chaine, que tu ajoutes à ton vector<string>.
0