Passer directement à la ligne suivante d'un fichier lors d'une acquisition

madcow41 Messages postés 54 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 11 mars 2008 - 27 févr. 2003 à 18:55
madcow41 Messages postés 54 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 11 mars 2008 - 28 févr. 2003 à 13:18
Salut Ô grand Développeur en C qui va m'aider (dumoins je l'éspère...)
Bon heu j'ai un projet en C à faire (en C hein !?! pas C++ même si il y a quelques commandes de tolérées (genre i++)) m'enfin bref
Dans ce projet on demande de faire un HitParade des pages les plus visitées sur un site à partir du fichier Log du serveur dont voisci un extrait:
216.239.193.84 - - [01/Apr/2001:00:02:08 +0200] "GET /~marcel/archi/node128.html HTTP/1.0" 304 - "-" "Mozilla/3.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com/slurp.html)"
212.83.187.188 - - [01/Apr/2001:00:08:47 +0200] "GET /~marcel/archi/node60.html HTTP/1.1" 200 3519 "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"
212.83.187.188 - - [01/Apr/2001:00:08:48 +0200] "GET /~marcel/archi/archi.css HTTP/1.1" 200 714 "http://www.blois.univ-tours.fr/~marcel/archi/node60.html" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"
213.36.0.85 - - [01/Apr/2001:02:07:10 +0200] "GET /iup/iup-t4.gif HTTP/1.1" 200 91 "http://www.blois.univ-tours.fr/iup/iup-menu.html" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"

J'arrive bien à acquérir les données que j'ai besoin (à savoir IP, Dat, Heure, et Page Web) mais je ne sais pas comment aller acquérir directement la ligne suivant sans acquérir la fin de la ligne, qui est de logueur variable qui plus est...

M'enfin bon voilà
Help, ah oui au fait ça urge !!!!
@+
MaD COw };-)

-=-=-=-=-=-=-=-=-=-=-
http://www.mcsoft.online.fr

"Si l'Espace est une Poubelle...
Qui Change les Sacs ???"

1 réponse

madcow41 Messages postés 54 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 11 mars 2008
28 févr. 2003 à 13:18
Bon en fait j'ai trouvé comment faire :
 while(fgetc(filename)!='\n') {};[\Code]

Bon petit problème ma boucle plante pasqu'elle ne vois plus la fin de fichier...

Et en plus j'arrive pas a faire des acquisitions propres : Il y a toujours un morceau de l'heure qui traine dans la date et la page html visitée n'est pas bien acquise :

  <table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0><tr><td class=code> liste=parcours;
   while(feof(logfile)==0)
   {
      nouveau = malloc(sizeof(visite));
      fscanf(logfile,"%s - - [%s:%s +0200] "GET %s HTTP",&nouveau->IP,&nouveau->date,&nouveau->heure,&nouveau->page);
      while(getc(logfile)!='\n'){};    //Permet de lire la fin de la ligne
      parcours->suiv=nouveau;          //sans en acquérir les données.
      affiche(nouveau);
      fflush(stdin);
      getchar();
      parcours=nouveau;
   };



Heeeeeeeeeeeelp

MaD COw };-)

-=-=-=-=-=-=-=-=-=-=-
http://www.mcsoft.online.fr

"Si l'Espace est une Poubelle...
Qui Change les Sacs ???"
0
Rejoignez-nous