Descompactador Simples
Publicado por Ricardo Rodrigues Lucca 27/02/2004
[ Hits: 9.114 ]
Homepage: http://aventurasdeumdevop.blogspot.com.br/
Este é o descompactor da tecnica arcaica run-length e deve ser usado com o script "Compactador Simples" para funcionar adequadamente.
Qualquer duvida sobre qualquer um dos programas email-me.
/*
Escrito Por Ricardo Rodrigues Lucca
Este programa descompacta um arquivo usando a seguinte forma:
- Se a uma dupla de caracteres seguidos
- Pega-se o proximo caracter
- O caracter pegado indica quantas vezes o caracter duplicado devera ser ainda repetido.
- Se não tiver dois caracteres seguidos
- Escreve o caracter pego anteriormente
Ex.:
Arquivo Comprimido: 97 97 3 100 100 0 2 2 1
Arquivo Descomprimido: 97 97 97 97 97 100 100 2 2 2
OBS: O arquivo esta bem simples acredito que ninguem vai ter problemas de entendimento. Qualquer coisa email-me.
OBS2: Me basiei no site http://www.ulbra.tche.br/~danielnm/ed/E/polE.html, especificamente na tecnica run-length.
*/
#include <stdio.h>
FILE *arq;
void testa(void)
{
char s[255];
printf("Digite o nome do arquivo: ");
scanf(" %s", s);
arq = fopen(s,"r");
if (arq==NULL) {
printf("Arquivo nao existe!\n");
testa();
}
}
void descompacta(void)
{
int p, n, r, check=0;
FILE *s;
s = fopen("nve","w");
r = 0;
n = fgetc(arq);
while (!feof(arq)) {
p = n;
n = fgetc(arq);
if (check==1) {
check = 0;
continue;
}
if (p==n) {
fputc(p,s);
fputc(p,s);
p = fgetc(arq);
while (p>0)
{
fputc(n,s);
p--;
}
r=0;
check = 1;
}
else {
fputc(p,s);
r=0;
}
}
fclose(s);
}
int main(void)
{
testa();
descompacta();
fclose(arq);
return 0;
}
Boletim Escolar Com Manipulação de Arquivo
Nenhum comentário foi encontrado.
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
O que você está ouvindo agora? [2] (243)
Abrir um arquivo URL pelo Clipper (7)
Eu aprendi o segredo das artes! hahaha (0)









