stuk06

kod1

Jun 3rd, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. #include <unistd.h>
  2. #include <fcntl.h>
  3. #include <string.h>
  4. #include <stdio.h>
  5.  
  6. int main(void)
  7. {
  8.     /* Proces 1 - pobiera dane z STDIN (deskryptor 0) i zapisuje w pliku */
  9.     if(fork())
  10.     {
  11.         int  des;
  12.         int n;
  13.         char buf[20];
  14.         char buf1[20];
  15.  
  16.         des = open( "/tmp/file.txt", O_CREAT | O_RDWR | O_APPEND,  0666 );
  17.  
  18.         while(((n = read(0, buf, sizeof(buf))) > 0))
  19.         {                      
  20.             //printf("Wczytano: %d\n",n);
  21.             des=open("/tmp/file.txt",O_WRONLY);
  22.             write( des, buf, sizeof( buf ) );
  23.             sprintf(buf1,"%x",*buf);
  24.             //write(1,buf1,sizeof(buf1));
  25.             printf("Otrzymałem: %s\n",buf);
  26.             write(des,buf,sizeof(buf));
  27.             bzero(buf,sizeof(buf1));
  28.             close(des);
  29.         }
  30.     }
  31.         /* Proces 2 - odczytuje z pliku i przekazuje dane za pomocą FIFO do procesu 3 */
  32.         //if(fork())
  33.         else
  34.         {
  35.             int  des;
  36.             int n;
  37.             char buf[20];
  38.             char buf1[20];
  39.             des = open( "/tmp/file.txt", O_RDONLY);
  40.            
  41.             while((n = read(des, buf, sizeof(buf))) > 0)
  42.             {                      
  43.                  des=open("/tmp/file.txt",O_RDONLY);
  44.                  read(des,buf,sizeof(buf1));
  45.                  //sprintf(buf1,"%x",*buf);
  46.                  printf("Mam: %s\n",buf);
  47.                  //write(2,buf1,3);
  48.                  close(des);
  49.                  bzero(buf,sizeof(buf));
  50.             }
  51.             /* Proces 3 - wypisuje otrzymane dane na STDOUT (deskryptor 1) */
  52.             //if(fork())
  53.             //{
  54.             //  ;
  55.             //}
  56.         }
  57.         //close(des);
  58.     //}
  59.  
  60.     sleep(100);
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment