Descompactador Simples
Publicado por Ricardo Rodrigues Lucca 27/02/2004
[ Hits: 9.079 ]
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;
}
Vários pacotes de ping disparados contra o host
Função simples de criptografia em um vetor
Nenhum comentário foi encontrado.
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Midia de instalação LM-21.3 não inicializa (7)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (8)









