copie du contenu d'un fichier dans un tableau - Programmation
Marsh Posté le 25-03-2002 à 17:39:41
Bah, tu peux essayer de découper ta ligne avec les caractères spéciaux qui s'y trouvent.
genre l'ip, faut faire une expression régulière, la date est entre [ ] et la page html entre " "...
C dans quel langage qu'il faut que tu le fasses?
Marsh Posté le 25-03-2002 à 19:44:00
dropsy a écrit a écrit : Bah, tu peux essayer de découper ta ligne avec les caractères spéciaux qui s'y trouvent. genre l'ip, faut faire une expression régulière, la date est entre [ ] et la page html entre " "... C dans quel langage qu'il faut que tu le fasses? |
en langage C ou C++ au choix
mais je suis pas très copain avec les classes et la programmation objet
Marsh Posté le 25-03-2002 à 19:49:52
dans les fichiers logs le séparateur est l'espace
Marsh Posté le 25-03-2002 à 23:01:43
solution = sscanf() !!!
sscanf("%d.%d.%d.%d - - [%d/%s/%d:%d:%d:%d +%d] "%s...",n°ip1,n°ip2,...);
tu découpes, en fait, la phrase en données que tu mets ensuite dans des variables
Marsh Posté le 25-03-2002 à 23:03:55
un peu plus : tu lis chaque ligne de ton fichier avec fgets et tu mets ça dans un buffer[200]; Puis, tu découpes le buffer avec sscanf.
voir http://www.lri.fr/~aze/page_c/aide_c/sscanf.html
Marsh Posté le 26-03-2002 à 09:31:04
torpe23 a écrit a écrit : un peu plus : tu lis chaque ligne de ton fichier avec fgets et tu mets ça dans un buffer[200]; Puis, tu découpes le buffer avec sscanf. voir http://www.lri.fr/~aze/page_c/aide_c/sscanf.html |
Ah cool merci
Marsh Posté le 26-03-2002 à 10:48:34
ça marche super bien je te remercie infiniment !!!!
Finalement avec ça mon prjoet c de la rigolade
Marsh Posté le 26-03-2002 à 15:36:53
OUPS OUPS OUPS je crois que j'ai crié victoire un peu top vite car pour l'adresse ip ça marche top la date aussi mais pour l'heure et le reste ça marche pas top
voilà ce que j'ai mis :
#include <stdio.h>
void main(void) {
char tamp[] ="193.249.12.70 - - [31/Dec/2000:22:26:14 +0500] GET /precamp.html HTTP/1.1 200 4775";
int a,b,c,d,e,f,g,h,i,j,k,l;
char date[12],debut[30],fin[100];
flushall();
sscanf( tamp,"%d.%d.%d.%d - - [%d/%s/%d:%d:%d:%d +%d] GET %s %s %d %d",&a ,&b ,&c ,&d ,&e , debut, &f, &g, &h, &i , &j, date, fin, &k, &l);
printf("Resultat : %d\n%d\n%d\n%d\n%d\n%s\n%d\n%d\n%d\n%d\n
%d\n%s\n%s\n%d\n%d\n",a,b,c,d,e,debut,f,g,h,
i,j,date,fin,k,l);
}
et voilà c que ça donne
Merci de ton aide
c'est assez urgent
Marsh Posté le 25-03-2002 à 16:57:44
Comment faire pour copier certains éléments d'un fichier dans tableau ?
Voilà un extrait du fichier access_log :
193.249.12.70 - - [31/Dec/2000:22:26:14 +0500] "GET /precamp.html HTTP/1.1" 200 4775
de ce fichier je voudrais mettre l'adresse IP, la date et le nom de la page HTML dans un tableau du type
adresse_ip : date : nom_page
et ça pour chaque ligne jusqu'à la fin du fichier