Descompactador Simples
Publicado por Ricardo Rodrigues Lucca 27/02/2004
[ Hits: 9.040 ]
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;
}
Programa para demonstrar operadores
SIMULADOR DE DADOS DE RPG - BASEADO EM VAMPIRO A MÁSCARA
Programa para cálculo vetorial
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (40)
Pfsense inacessivel após um periodo de tempo (2)









