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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| #include <stdio.h>
#include <stdlib.h>
#define ENTREE "test_trie.txt"
#define SORTIE "resultat_trie.txt"
int main(void)
{
FILE *f_in, *f_out;
int tab;
int compteur1 = 0;
int compteur2 = 0;
int compteur3 = 0;
int taille = 0;
int addr = 4;
int cpt = 8;
int val_reg = 12;
/************ OUVERTURE FICHIER *********************************/
if ((f_in = fopen(ENTREE,"r")) == NULL)
{
fprintf(stderr, "\nErreur: Impossible de lire le fichier %s\n",ENTREE);
return(EXIT_FAILURE);
}
if ((f_out = fopen(SORTIE,"w")) == NULL)
{
fprintf(stderr, "\nErreur: Impossible d'ecrire dans le fichier %s\n", \
SORTIE);
return(EXIT_FAILURE);
}
/************* PARCOURS DU FICHIER *****************************/
while(fgetc(f_in) != EOF)
compteur1 ++; /* incrémentation du compteur */
/************* CALCULER LE NOMBRE DE CARACTERES ****************/
printf("Le nombre de caracteres du fichier est de : %d\r\n", compteur1);
/************* CHOIX DE LA TAILLE DE DECOUPAGE *****************/
printf("Entrer la taille du registre : ");
scanf("%d", &taille);
/************* RECOPIE CARACTERE PAR CARACTERE ET TRIE *********/
if((f_in = fopen(ENTREE, "r")) != NULL)
{
while (!feof(f_in))
{
if (compteur2 !=taille)
{
fread(&tab, 1, 1, f_in);
fputc(tab, f_out);
compteur2++;
}
else
{
fputs ("\r\n",f_out);
compteur2=0;
}
}
}
fclose(f_in);
fclose(f_out);
return(EXIT_SUCCESS);
} |
Partager