Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "lista.c"
- void LeCaracteres (FILE* arquivo, TipoLista *lista)
- //Parâmetros: arquivo = arquivo a ser compactado, lista = lista da árvore
- //Retorna: nada.
- //Ação:
- {
- char chaux;
- while(!feof(arquivo))
- {
- fscanf(arquivo, "%c", &chaux);
- if (VerificaCaractere(chaux, lista->primeiro))
- {
- }
- }
- }//LeCaracteres
- int VerificaCaractere (char chr, Ponteiro celula)
- //Parâmetros: chr = caractere sendo lido, celula = celula a ser checada, quando chamada em outra função deve-se usar a primeira célula da lista
- //Retorna: Caractere já existe na lista? Verdadeiro:Falso
- //Ação: verifica a existência de uma célula correspondente a um determinado caracter lido e soma 1 à frequência dela, caso exista(recursivo)
- {
- if (celula->item.caractere == chr)
- {
- celula->item.frequencia++;
- return 0;
- }
- if (celula->prox != NULL)
- {
- return(VerificaCaractere(chr, celula->prox));
- } else return 1;
- }// VerificaCaractere
- int main()
- {
- char adress[100], chaux;
- FILE *filein, *fileout;
- printf("Digite o endereco completo do arquivo a ser compactado.\n");
- gets(adress);
- filein = fopen(adress, "rb");
- fileout = fopen("out.txt", "wb");
- while (!feof(filein))
- {
- fscanf(filein, "%c", &chaux);
- fprintf(fileout,"%c",chaux);
- }
- fclose(filein);
- fclose(fileout);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement