Sneakito
Messages postés13Date d'inscriptionsamedi 28 mai 2005StatutMembreDernière intervention 4 juin 2005
-
28 mai 2005 à 02:55
simtiers
Messages postés207Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention 2 novembre 2006
-
30 mai 2005 à 19:24
Voilà pour lundi prochain je dois rendre un projet en C, le sujet que j'ai choisi est le suivant:
-Recherche un mot dans une page HTML (hors balise) et le mettre en évidence (gras, rouge,?)
Cela semblera très simple à certains, mais mes connaissances en C sont très basiques et mon dernier cours remontre à très loin(l'année dernière), je ne me souviens plus de grand choses.
simtiers
Messages postés207Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention 2 novembre 2006 28 mai 2005 à 09:47
Alors, pour la méthode, je dirais ceci :
- ouvrir le fichier avec un FILE* f = fopen(...)
- récupérer la taille du fichier
- charger tout le fichier en memoire (plus simple)
- faire un char* c = strstr(...) pour trouver le mot (attention, sensible à la casse)
(garde le pointeur retourné par cette fonction => position du mot)
- créer une nouvelle chaine, copier ce qu'il y a avant le mot dans
cette chaîne, (strcpy), puis ajouter la balise HTML : strcat( chaine2,
"" );, ajouter le mot recherché, la fin de la balise
HTML, puis copier la fin du fichier : strcat( chaine2,
c+strlen(MotRecherche) );
- écrire le tout dans un fichier (fwrite....)
- faire le fichier (fclose)
Maintenant, le mot recherché (1ere apparition) est affiché en gras
Sneakito
Messages postés13Date d'inscriptionsamedi 28 mai 2005StatutMembreDernière intervention 4 juin 2005 30 mai 2005 à 19:06
Un ami de la famille qui s'y connait un peu en informatique, a écrit ça:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//ouverture de fichier en lecture
FILE *file = fopen("pagehtml.txt","r");
char buffer[1000];
if (file == NULL) {
fprintf(stderr,"Erreur dans l'ouverture du fichier");
exit(-1);
}
sprintf(buffer, "%s","pagehtml.txt");
//fermeture du fichier
fclose(file);
//lecture à parti du buffer
//Demander le mot à rechercher
char tmp[30];
char *mot;
do {
printf( "Rechercher :" );
gets( tmp );
} while ( (sscanf(tmp, "%s",mot)!=1));
sprintf(tmp, "%s", mot);
puts(tmp);
//recherche du mot tapé dans le buffer
//utiliser while avec getchar et strcmp pour la comparaison avec mot