Recherche de chaîne de caractères en C

bege Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous!
Je désire écrire un programme en C qui me permet de:
-> lire la source d'une page html, d'y chercher toutes les chaînes de caractères suivantes:"<a href=", "<img src="
-> modifier ce qu'il y a à la suite de celles-ci
-> générer la nouvelle page html

Je suis novice en programmation, c'est pourquoi je vous demande d'y ajouter des commentaires.
Merci

7 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
Ta question n'es pas assez precise pour qu'on puisse y repondre pertinemant.
Ta page HTML, ellle est locale ou distante ?
pour faire les recherche, moi j'utiliserai la STL string qui permet de faire des recherches dans un texte, mais c'est en C++, peut être que strinh.h te permet de faire pareil en C...
si tu as des questions plus precise sur comment faire, j'y repondrai avec plaisir.
0
bege Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
ok, la page que je désire lire est locale. Je pense que tu voulais dire <string.h> dans ton message.
merci!
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
Donc, deja la page en local, ça simplifie grandement le problème.
En effet, c'est bien <string.h> dont je parlais, mais sans garantie en C.
dans string, tu as find(const char*), erase(int,int), insert(i,const char*)
http://www.cppreference.com/cppstring/index.html
pour plus d'info sur les strings.
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Moi j'utiliserai plutôt la lib pcre pour rechercher une expression régulière correspondant au motif de chaîne que tu recherches.

Maintenant pour être tout à fait franche, il y a des langages plus adaptés que le C ou le C++ pour faire ce genre de choses, par exemple le python ou le perl. Et quand je dis plus simple, c'est vraiment beaucoup plus simple ;)

Mais quoiqu'il en soit tu devrais déjà jeter un oeil aux expressions régulière c'est à mon avis plus pratique que d'utiliser string.h...

Bonne chance
0

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

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut à tous,

et si le résultat compte et pas la méthode moi je choisirais Perl avec ses regex.

lami20j

P.S. donne ta page html ( par http://cjoint.com/) et ce que tu veux modifier et je vais écrire un script.
0
bennaniidriss Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir
moi ce que je vous propose de faire c'est d'utiliser les fichier en c tout dabord tu ouvrira le fichier qui contiens la page html en suite tu devrais utiliser la fonction predefini en c "strcmp" qui retourn 0 si elle trouve la chaine que tu recherche cette fonction est predefini dans la bibliotheque <string.h>
bo courage!
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
bennaniidriss, le C ne priori a priori pas d'utiliser des expressions régulières, comme je l'ai dit plus haut, et qui sont nettement plus pratique qu'un strcmp. On peut s'en sortir avec strcmp mais c'est vraiment pas pratique.

Donc si le programme doit être fait en C/C++, cf lib pcre. Sinon, mieux vaut utiliser un langage de script comme le python ou le perl qui permettent de faire très simplement ce job. A mon avis en python c'est même plus facile qu'en perl.

Bonne chance
0