Welcome to my blog, enjoy reading.

Saturday, May 1, 2010

Character stuffing of data using C

#include< stdio.h>
#include< conio.h>
#include< string.h>
void main()
{
    char sdata[17],rdata[17],cstuff[40];
    int i,j;
    clrscr();
    printf("Enter any 16 characters   : ");
    gets(sdata);
    printf("\nOriginal data             : %s\n",sdata);
    for(i=0,j=0;sdata[i]!='\0';i++)
    {
    if(sdata[i]=='f'&&sdata[i+1]=='l'&&sdata[i+2]=='a'&&sdata[i+3]=='g')
    {
        cstuff[j++]='e';
        cstuff[j++]='s';
        cstuff[j++]='c';
        cstuff[j++]=sdata[i];
    }
    else if(sdata[i]=='e'&&sdata[i+1]=='s'&&sdata[i+2]=='c')
    {
        cstuff[j++]='e';
        cstuff[j++]='s';
        cstuff[j++]='c';
        cstuff[j++]=sdata[i];
    }
    else
    {
        cstuff[j++]=sdata[i];
    }
    }
    cstuff[j]='\0';
    printf("\nAfter character stuffing  : %s\n",cstuff);
    for(i=0,j=0;cstuff[i]!='\0';i++)
    {
    if(cstuff[i]=='e'&&cstuff[i+1]=='s'&&cstuff[i+2]=='c')
    {
        i=i+3;
        rdata[j++]=cstuff[i];
    }
    else
    {
        rdata[j++]=cstuff[i];
    }
    }
    rdata[j]='\0';
    printf("\nReceiver data             : %s",rdata);
    if(strcmp(sdata,rdata)==0)
    printf("\n\n\nTransmission successful");
    else
    printf("\n\n\nTransmission error");
    getch();
}

0 comments:

Post a Comment