Header File
========
void bitptrn(char ch)
{
int chsize,bitset;
for(chsize=(sizeof(char)*8)-1;chsize>=0;chsize--)
{
bitset=1<
if(ch & bitset)
{
printf("1");
}
else
{
printf("0");
}
}
}
int noof1bit(char ch)
{
int chsize,bitset,pbit;
for(chsize=(sizeof(char)*8)-1,pbit=0;chsize>=0;chsize--)
{
bitset=1 << chsize;
if(ch & bitset)
{
pbit++;
}
}
return(pbit);
}
Sender Program
============
int main()
{
char ipch;
int pbit,pout;
FILE *infile;
system("clear");
infile=fopen("data.txt","r");
pout=open("vrcpipe","O_WRONLY");
printf("-----------------------------------\n");
printf("Character BitPattern NewPattern");
printf("\n-----------------------------------");
while(feof(infile)==0)
{
ipch=getc(infile);
if(feof(infile)==0)
{
printf("\n %c ",ipch);
bitptrn(ipch);
pbit=noof1bit(ipch);
if((pbit%2)==1)
pbit=1<<7;
else
pbit=0;
ipch=ipch|pbit;
printf(" ");
bitptrn(ipch);
write(pout,&ipch,sizeof(char)); //write to pipe
}//if over
}//while over
fclose(infile);
printf("\n-----------------------------------");
printf("\n\nPress enter key to exit...\n");
system("read x");
system("clear");
return(0);
}
Receiver Program
============
int main()
{
char ipch;
int pbit,pin;
const int bitset=127;
FILE *pin;
system("clear");
pin=fopen("vrcpipe","r");
printf("-----------------------------------\n");
printf("Character BitPattern OldPattern\n");
printf("-----------------------------------");
while()
{
printf("\n %c ",ipch);
bitptrn(ipch);
pbit=noof1bit(ipch);
if((pbit%2)==1)
{
printf("\n\nError : Data received is incorrect");
exit(0);
}
ipch=ipch & bitset;
printf(" ");
bitptrn(ipch);
}
printf("\n-----------------------------------");
printf("\n\nPress enter key to exit...\n");
system("read x");
system("clear");
return(0);
}
========
void bitptrn(char ch)
{
int chsize,bitset;
for(chsize=(sizeof(char)*8)-1;chsize>=0;chsize--)
{
bitset=1<
if(ch & bitset)
{
printf("1");
}
else
{
printf("0");
}
}
}
int noof1bit(char ch)
{
int chsize,bitset,pbit;
for(chsize=(sizeof(char)*8)-1,pbit=0;chsize>=0;chsize--)
{
bitset=1 << chsize;
if(ch & bitset)
{
pbit++;
}
}
return(pbit);
}
Sender Program
============
int main()
{
char ipch;
int pbit,pout;
FILE *infile;
system("clear");
infile=fopen("data.txt","r");
pout=open("vrcpipe","O_WRONLY");
printf("-----------------------------------\n");
printf("Character BitPattern NewPattern");
printf("\n-----------------------------------");
while(feof(infile)==0)
{
ipch=getc(infile);
if(feof(infile)==0)
{
printf("\n %c ",ipch);
bitptrn(ipch);
pbit=noof1bit(ipch);
if((pbit%2)==1)
pbit=1<<7;
else
pbit=0;
ipch=ipch|pbit;
printf(" ");
bitptrn(ipch);
write(pout,&ipch,sizeof(char)); //write to pipe
}//if over
}//while over
fclose(infile);
printf("\n-----------------------------------");
printf("\n\nPress enter key to exit...\n");
system("read x");
system("clear");
return(0);
}
Receiver Program
============
int main()
{
char ipch;
int pbit,pin;
const int bitset=127;
FILE *pin;
system("clear");
pin=fopen("vrcpipe","r");
printf("-----------------------------------\n");
printf("Character BitPattern OldPattern\n");
printf("-----------------------------------");
while()
{
printf("\n %c ",ipch);
bitptrn(ipch);
pbit=noof1bit(ipch);
if((pbit%2)==1)
{
printf("\n\nError : Data received is incorrect");
exit(0);
}
ipch=ipch & bitset;
printf(" ");
bitptrn(ipch);
}
printf("\n-----------------------------------");
printf("\n\nPress enter key to exit...\n");
system("read x");
system("clear");
return(0);
}