SHARE
TWEET

Untitled

a guest Dec 3rd, 2019 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <sys/types.h>
  4. #include <fcntl.h>
  5. #include <sys/wait.h>
  6.  
  7. int main()
  8. {
  9.  
  10. int potokFd[2];
  11.  
  12. pipe(potokFd);
  13.  
  14. pid_t childPid=fork();
  15.  
  16. if(childPid < 0)
  17. {
  18.  
  19.     puts("Nie utworzono procesu potomnego!");
  20.    
  21.     return -1;
  22.  
  23. }
  24. else if(childPid==0)
  25. {
  26.     close(0);
  27.     close(1); //zamkniecie fd dla wejscia i wyjscia
  28.  
  29.     close(potokFd[1]);
  30.  
  31.     dup(potokFd[0]);
  32.  
  33.     close(potokFd[0]);
  34.  
  35.     execlp("display", "", NULL);
  36. }
  37.  
  38. else if(childPid>0)
  39. {
  40. close(potokFd[0]);
  41. int deskryptor, licznik ;
  42. char nazwaPliku[100], bufor[128];
  43.  
  44. printf("Podaj nazwe pliku: ");
  45. scanf("%s", nazwaPliku);
  46.  
  47. deskryptor = open (nazwaPliku, O_RDONLY);
  48.  
  49. while((licznik=read(deskryptor, bufor, 128)) > 0)
  50. {
  51.     write(potokFd[1], bufor, licznik);
  52. }
  53.  
  54. close(potokFd[1]);
  55.  
  56. }
  57. wait(NULL);
  58.  
  59.     return 0;
  60. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top