1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
//fonction qui traite un fichier chemin est le chemin complet du fichier et
//date est la date du lancement du programme
void traite_fichier(char *chemin,char *date) {
char ligne[256];
FILE* fic;
fic=malloc(sizeof(FILE));
fic=fopen(chemin,"r");
if ( fic == NULL ) {
printf("Erreur de lecture du fichier\n");
return 0;
}
//on appelle ici la fonction traite_ligne en boucle jusqu'à ce qu'on ait plus
//de ligne
while( fgets(ligne, sizeof ligne ,fic) != NULL ) {
traite_ligne(ligne,date);
}
printf("\n");
printf("%s a ete traite\n",chemin);
fclose(fic);
free(fic);
free(ligne);
}
//fonction qui traite les lignes
// char* sub_string(char* entree,int deb, int fin)
// est une fonction qui ressort les caracteres de entree[deb] à entree[fin]
void traite_ligne(char * ligne,char * date) {
char nomfic[16];
FILE* fichier;
fichier= malloc(sizeof(FILE));
strcpy(nomfic,sub_string(ligne,0,2));
strcat(nomfic,"-");
strcat(nomfic,date);
strcat(nomfic,".txt");
fichier=fopen(nomfic, "a");
fprintf(fichier,"%s\n",sub_string(ligne,4,6));
fclose(fichier);
free(nomfic);
free(fichier);
} |
Partager