Write a program to compress the contents of the file.
Program Code:
#include
#include
#include
void main()
{
FILE *fp,*ft;
char ch,s[100];
int x,n,i;
clrscr();
fp=fopen("cipher.txt","w+");
ft=fopen("cipher1.txt","w+");
if(fp==NULL)
{
printf("\nCannot Open File");
getch();
exit(0);
}
if(ft==NULL)
{
printf("\nCannot Open File");
getch();
exit(0);
}
printf("=========Sender Side==========\n\n") ;
printf("Enter Few Lines Of Text\n\n");
while(strlen(gets(s))>0)
{
fputs(s,fp);
fputs("\n",fp);
}
rewind(fp);
while(1)
{ n=0;
x=ch=fgetc(fp);
if(ch==EOF)
break;
else
{
if((ch>=97 && ch<=122) || (ch>=65 && ch<=90))
{
while(1)
{
if(ch==x)
{
n++;
x=fgetc(fp);
}
else
{
fputc(ch,ft);
fprintf(ft,"%d",n);
fseek(fp,-1,SEEK_CUR);
break;
}
}
}
else
fputc(ch,ft);
}
}
rewind(ft);
printf("\n\nCompressed Message Is:\n");
printf("-----------------------------\n\n");
while(1)
{
ch=fgetc(ft);
if(ch==EOF)
break;
printf("%c",ch);
}
rewind(fp);
rewind(ft);
printf("\n\n=========Receiver Side==========\n\n") ;
while(1)
{
n=0;
x=ch=fgetc(fp);
if(ch==EOF)
break;
else
{
if((ch>=97 && ch<=122) || (ch>=65 && ch<=90))
{
fscanf(ft,"%d",&n);
for(i=0;i {
fputc(ch,fp);
}
}
else
fputc(ch,fp);
}
}
rewind(fp);
printf("Message sent from Sender is\n\n");
printf("----------------------------\n\n");
while(1)
{
ch=fgetc(fp);
if(ch==EOF)
break;
printf("%c",ch);
}
getch();
}
Output:
=========Sender Side==========
Enter Few Lines Of Text
aaa b BBB cc x y ZZZ z
Compressed Message Is:
-----------------------------
a3 b1 B3 c2 x1 y1 Z3 z1
=========Receiver Side==========
Message sent from Sender is
----------------------------------
aaa b BBB cc x y ZZZ z
Program Code:
#include
#include
#include
void main()
{
FILE *fp,*ft;
char ch,s[100];
int x,n,i;
clrscr();
fp=fopen("cipher.txt","w+");
ft=fopen("cipher1.txt","w+");
if(fp==NULL)
{
printf("\nCannot Open File");
getch();
exit(0);
}
if(ft==NULL)
{
printf("\nCannot Open File");
getch();
exit(0);
}
printf("=========Sender Side==========\n\n") ;
printf("Enter Few Lines Of Text\n\n");
while(strlen(gets(s))>0)
{
fputs(s,fp);
fputs("\n",fp);
}
rewind(fp);
while(1)
{ n=0;
x=ch=fgetc(fp);
if(ch==EOF)
break;
else
{
if((ch>=97 && ch<=122) || (ch>=65 && ch<=90))
{
while(1)
{
if(ch==x)
{
n++;
x=fgetc(fp);
}
else
{
fputc(ch,ft);
fprintf(ft,"%d",n);
fseek(fp,-1,SEEK_CUR);
break;
}
}
}
else
fputc(ch,ft);
}
}
rewind(ft);
printf("\n\nCompressed Message Is:\n");
printf("-----------------------------\n\n");
while(1)
{
ch=fgetc(ft);
if(ch==EOF)
break;
printf("%c",ch);
}
rewind(fp);
rewind(ft);
printf("\n\n=========Receiver Side==========\n\n") ;
while(1)
{
n=0;
x=ch=fgetc(fp);
if(ch==EOF)
break;
else
{
if((ch>=97 && ch<=122) || (ch>=65 && ch<=90))
{
fscanf(ft,"%d",&n);
for(i=0;i
fputc(ch,fp);
}
}
else
fputc(ch,fp);
}
}
rewind(fp);
printf("Message sent from Sender is\n\n");
printf("----------------------------\n\n");
while(1)
{
ch=fgetc(fp);
if(ch==EOF)
break;
printf("%c",ch);
}
getch();
}
Output:
=========Sender Side==========
Enter Few Lines Of Text
aaa b BBB cc x y ZZZ z
Compressed Message Is:
-----------------------------
a3 b1 B3 c2 x1 y1 Z3 z1
=========Receiver Side==========
Message sent from Sender is
----------------------------------
aaa b BBB cc x y ZZZ z