Você está na página 1de 4

//Sender.c #include<stdio.h> #include<fcntl.

h> main() { int fd,num; fd=open("testpipe",O_WRONLY); printf ("Enter number :: " ) ; scanf ("%d",&num); write(fd,&num,sizeof(int)); close(fd); } // rec.c #include<stdio.h> #include<fcntl.h> main() { int fd,num; fd=open("testpipe",O_RDONLY); read(fd,&num,sizeof(int)); printf("Number is : %d",num); close(fd); } //sender #include<stdio.h> #include<string.h> #include<fcntl.h> struct data { char val[50]; int l; }; int main() { struct data f; int fd; printf("Enter data :: "); scanf("%s",f.val);

f.l=strlen(f.val); fd=open("pipe",O_WRONLY); write(fd,&f,sizeof(struct data)); close("pipe"); return 0; } //rec #include<stdio.h> #include<fcntl.h> #include<string.h> struct data { char val[50]; int l; }; int main() { struct data f; int fd; fd=open("pipe",O_RDONLY); read(fd,&f,sizeof(struct data)); if(f.l == strlen(f.val)) { printf("String match \n"); printf("%s \n",f.val); } else { printf("String not match"); } close("pipe");

return 0; }

#include<stdio.h> #include<fcntl.h> unsigned int n; void showBinary ( unsigned int , int ) ; void getPosition ( unsigned int , int ) ; void changeBit ( unsigned int , int ) ; unsigned int changePosition ( unsigned int , int ,int ) ; int main ( ) { unsigned int no ,no1, no2; int bit ,pos,nbit ; printf ( "Enter the Number :: " ) ; scanf ( "%d" , &no ) ; printf ( "Enter Number of Bits :: " ) ; scanf ( "%d",&bit ); showBinary ( no , bit ) ; printf ( "\n" ) ; printf ( "Enter the position :: " ) ; scanf ( "%d", &pos ) ; getPosition ( no , pos ) ; printf ( "\n" ); printf ( "Enter new Bit " ) ; scanf ("%d", &nbit); changeBit ( no , pos ) ;

printf ("\n");

n=changePosition ( no , pos , nbit ) ; showBinary(n,bit); printf ( "\n" ) ;

void showBinary ( unsigned int num , int numOfBits ) { unsigned int mask = 1 << (numOfBits - 1); while ( mask ) { printf ( (num & mask) ? "1":"0" ) ; mask >>= 1; } } void getPosition ( unsigned int num , int pos ) { printf ( "Bit at Position %d is :: ", pos ) ; printf ( (num & (1<<pos-1)) ? "1" : "0" ); }

void changeBit( unsigned int num , int pos ) { printf ( "New Bit at position %d is :: ", pos ) ; printf ((num ^ (1<< pos-1))? "1":"0" ); } unsigned int changePosition ( unsigned int num , int pos , int nbit ) { printf ( "In Change Position \n" ) ; if ( nbit == 1 ) { return ( num | (1<<pos-1)) ; } else { return ( num & (~ (1<<pos-1))) ; } }

Você também pode gostar