Passer directement à la ligne suivante d'un fichier lors d'une acquisition
madcow41
Messages postés54Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention11 mars 2008
-
27 févr. 2003 à 18:55
madcow41
Messages postés54Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention11 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 };-)
madcow41
Messages postés54Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention11 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;
};