Rechercher : dans
Par :

Recherche de chaîne de caractères en C

Dernière réponse le 13 mar 2006 à 02:35:16 bege, le 9 mar 2006 à 10:36:14 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « recherche de chaîne de caractères en C » dans :
Les chaînes de caractères en C++ Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
PHP - Nettoyer une chaîne de caractères VoirVoici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

Char Snipeur, le 9 mar 2006 à 12:32:09

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

2

bege, le 10 mar 2006 à 13:28:57

Bonjour,
ok, la page que je désire lire est locale. Je pense que tu voulais dire <string.h> dans ton message.
merci!

Répondre à bege

3

Char Snipeur, le 10 mar 2006 à 16:34:55

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

4

mamiemando, le 10 mar 2006 à 20:29:32

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

Répondre à mamiemando

5

lami20j, le 11 mar 2006 à 13:15:07

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.

Répondre à lami20j

6

bennaniidriss, le 12 mar 2006 à 22:12:15

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!

Répondre à bennaniidriss

7

 mamiemando, le 13 mar 2006 à 02:35:16

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

Répondre à mamiemando
Collection CommentÇaMarche.net