Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <unistd.h> //jezeli sie zakomentuje to dziala ale duzo warningow
  3. #include <stdlib.h>
  4. #include <fcntl.h>
  5.  
  6.  
  7.  
  8. int main()
  9. {
  10.  
  11. int potok_fd[2], f, x; //potok_fd[0] czytajacy, potok_fd[1] piszacy
  12. char buf[BUFSIZ], nazwa_pliku[32]; //BUFSIZ nalezy do biblioteki
  13.  
  14. pid_t pid;
  15. pipe(potok_fd);
  16. pid=fork();
  17.  
  18. switch (pid) {
  19.  
  20.  
  21. case 0: //DZIECKO
  22. close(0); //zamykam wejscie
  23. dup(potok_fd[0]); //przekazanie nowego numeru
  24. close(potok_fd[1]); //zamykam wejscie piszace
  25. close(potok_fd[0]); //zamykam wejscie czytatajace
  26. close(1); //zamykam wyjscie
  27. execlp("display", "display");
  28.  
  29.  
  30. default: //RODZIC
  31. close(potok_fd[0]);
  32. printf("Wpisz nazwe pliku: ");
  33. scanf("%s",nazwa_pliku);
  34. f = open(nazwa_pliku, O_RDONLY); //otwieranie zdjecia w trybie tylko do odczytu
  35. x = read(f, buf, BUFSIZ); //przypisaniu ilosci z pliku
  36.  
  37. while(x>0){ //poki bedziemy mieli dane w buforze
  38. write(potok_fd[1], buf, x); //nadawaj do potoku
  39. x = read(f, buf, BUFSIZ);}
  40. close(potok_fd[1]);
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement