Recuper une chaine contenu dans un string

Résolu
clcat Messages postés 11 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 21 février 2006 - 16 févr. 2006 à 18:07
clcat Messages postés 11 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 21 février 2006 - 17 févr. 2006 à 21:09
Bonjour a tous,
Le probleme est simple je pense (je programme en C++) :

j'ai cette ligne la :

node = insDoc(aux1, gLnk("GPFD", "000001.htm?refreshLink=1"))
qui est contenu dans un string

je veux récupérer la chaine 000001.htm, sachant que j ai d autres lignes a traiter et que je veux également récupérer le nom de fichier.htm qui est contenu dedans, la seule chose qui ne change jamais c'est que le nom est précédé de " et suivi de ?

une solution quelqu'un ?
merci,
A+.

5 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 févr. 2006 à 17:39
Pense à cliquer sur Réponse Accepter et a mettre ta réponse si possible, ca pourra en aider d'autres par la suite.

Shell
3
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
16 févr. 2006 à 23:22
char *b, *c, *f; c b strstr( chaine, ".htm?" );
while ( *--c != '"' );
int i = (b - chaine) - (c - chaine) + 3;
f = (char*) malloc(i);
strncpy (f, c+1, i);
f[i] = 0;
free(f);
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 févr. 2006 à 08:48
Si tu te sert des strings, tu as a ta disposition les méthodes find(), substr(), et pos() qui te permettront de faire ce que tu souhaites.

Shell
0
clcat Messages postés 11 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 21 février 2006
17 févr. 2006 à 16:43
ouais j ai reussi avec substr(), c'est tres pratique !
merci,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
clcat Messages postés 11 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 21 février 2006
17 févr. 2006 à 21:09
// on efface la derniere occurence de "
ligne.erase(ligne.length()-3);

//on cherche la derniere occurence de ", qui signifie le debut du nom du fichier
pos = ligne.find_last_of(""");

//on recupere le nom du fichier a ouvrir
fichierObjet = ligne.substr(pos+1,10);
0
Rejoignez-nous