Saturday, April 9, 2016

W.A.P to implement Byte Stuffing Algorithm.



#include<conio.h>
#include<stdio.h>
#include<string.h>
char input_data[100],enc_data[100],dec_data[100];
char flag,esc;
void incode()
{
int i,j=0;
enc_data[j++]=flag;
for(i=0;input_data[i]!='\0';i++)
{
if(input_data[i]==flag || input_data[i]==esc)
{
enc_data[j++]=esc;
enc_data[j++]=input_data[i];
}
else
{
enc_data[j++]=input_data[i];
}
}
enc_data[j++]=flag;
enc_data[j]='\0';
}
void decode()
{
int j=0,i;
for(i=1;enc_data[i+1]!='\0';i++)
{
if(enc_data[i]==esc && (enc_data[i+1]==esc||enc_data[i+1]==flag))
{
dec_data[j++]=enc_data[i+1];
// i=i+2;
i++;
}
else
{
dec_data[j++]=enc_data[i];
}
}
}
void main()
{
clrscr();
fflush(stdin);
printf("Enter flag character = ");
scanf("%c",&flag);
fflush(stdin);
printf("Enter Escape character = ");
scanf("%c",&esc);
fflush(stdin);
printf("Enter frame data =");
gets(input_data);
printf("Encode data = ");
incode();
puts(enc_data);
printf("Decode data = ");
decode();
puts(dec_data);
getch();
}

No comments:

Post a Comment