Comparer une ligne d'un fichier avec la précédente
boudafc
Messages postés48Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention18 juillet 2008
-
16 juin 2005 à 11:21
boudafc
Messages postés48Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention18 juillet 2008
-
16 juin 2005 à 14:05
Voilà, j'ai un fichier où toutes les lignes sont en double.
Ce que je voulais faire, c'est comparer une ligne par rapport à la précédente, mais voilà, ça foire ! et je comprend pas trop pourquoi ! lorsque je fais le mode débuggage, à un moment, dans ma variable buffer, il change le '\n' par un '0' et donc à chaque fois ça trouve que la ligne est différente ....
int main()
{
FILE *fichier; /* Déclaration des */
FILE *sortie; /* flux* */
/* Ouverture des fichiers en lecture ou écriture */
fichier = fopen("test.log","r");
if (fichier == NULL)
{
printf("Erreur d'ouverture du fichier");
exit(-1);
}
sortie = fopen("traite.txt", "w");
if (sortie == NULL)
{
printf("Erreur de création du fichier");
exit(-1);
}
/* Fermeture des fichiers en lecture ou écriture */
char temp[1000];
char buffer[1000];
memset(buffer,'.',1000);
do
{
strcpy(temp,buffer);
fgets(buffer,255,fichier);
if (strcmp(buffer, temp) != 0)
{
fprintf(sortie,"%s\n", buffer);
}
strcpy(temp, buffer);
}while(!feof(fichier));
fclose(sortie);
fclose(fichier);
}
si quelqu'un peut m'aider, parce que je desespère ....
boudafc
Messages postés48Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention18 juillet 2008 16 juin 2005 à 12:03
là, j'ai isolé mon pb (je précise) .. il s'agit d'un fichier log à la base où les lignes contiennent IP-Login-Date-Chemin ... qui subissent ensuite des traitements pour ensuite sortir des statistiques ...
J'ai simplifié, le code pour mettre juste le truc qui foire ....
Merci pour votre aide !
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 juin 2005 à 12:09
parce que visiblement il en est à l'apprentissage, s'il n'apprend jamais à manier buffers et pointers, quel statut espérer plus tard dans le monde professionnel ?
int main()
{
FILE *fichier; /* Déclaration des */
FILE *sortie; /* flux* */
/* Ouverture des fichiers en lecture ou écriture */
fichier = fopen("test.log","r");
if (fichier == NULL)
{
printf("Erreur d'ouverture du fichier");
exit(-1);
}
sortie = fopen("traite.txt", "w");
if (sortie == NULL)
{
printf("Erreur de création du fichier");
exit(-1);
}
/* Fermeture des fichiers en lecture ou écriture */