Voila je dois a partir d'un fichier prendre toute les ip qui s'y trouve dont on ne connait pas le nombre et je dois compter combien de fois elles apparaisent.Je dois comparer l'ip avec la date ,si l'ip est apparut avant 3min ,l'ip ne doit pas etre compter donc je ne peux pas trier en inserant un élément mon probleme est comment faire alors pour trier les IP.
//voila les structure que j'utilise
struct Date //structure dont on a besoin dans la structure requete
{
char Periode[12];
int Heure;
int Minute;
int Seconde;
char Jour[9];
};
struct adresse
{
int AdresseIP[4]; //taille maximum d'une adresse ip
Date Daterequette;
struct adresse *suiv; //liste chain‚e
};
typedef adresse *Requette;
**********************************************************
Fonction de saisit des donnees a partir d'un fichier log
void saisitIP(char fichier[],Requette *debut)
{
FILE *logfile;
int j;
char site;
char toto[14];
char tmp;
char Buffer[512];
*debut=NULL;
Requette Visite=NULL;
flushall();
logfile=fopen("nomdufichier","r");
while(!feof(logfile)) //on scanne tout le fichier
{
j=0;
Visite=(Requette)malloc(sizeof(*Visite));
fscanf(logfile,"%d.%d.%d.%d - - [",&Visite->AdresseIP[j],&Visite->AdresseIP[j+1],&Visite->AdresseIP[j+2],&Visite->AdresseIP[j+3]);
fgets(Visite->Daterequette.Periode,12,logfile); //on scanne la date
Visite->suiv=*debut;
*debut=Visite;
}
fclose(logfile);
}
//fonction qui compare si la liste est trié
Ben elle est crée est marche si la liste est triée
Voila j'aimerais savoir comment je peux trier les ip pour les ranger dans l'ordre croissant car j'ai aussi une fonctin qui affiche et qui compte ainsi les ip en prenant en compte la durée de 3Min mais je sais pas comment faire pour les trier. Je pensais les inserer et les classer comme ca mais je suis embete a cause de la prise en compte de la duree de visite (si <3min alors faut pas compter) donc je pense trie la liste apres toute la saisit mais comment faire ca sans passer par des tableaux vue qu'on ne connait pas le nombre d'ip.
Je met pas tout mon programme vu que c'est un projet qu'on a a rendre pas envie de me le faire pomper ^^
Merci