Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <limits.h>
  6. #include <fcntl.h>
  7. #include <sys/types.h>
  8. #define NAZWA_FIFO "/tmp/moje_fifo"
  9. #define ILOSC 10
  10. int main(int argc, char* argv[]){
  11. FILE * fp;
  12. char nazwa[20];
  13. sprintf(nazwa,"./P/p_%d",getpid());
  14. srand(getpid());
  15. int potok;
  16. char znak;
  17. int i,j;
  18.  
  19.  
  20. if(access(NAZWA_FIFO, F_OK)==-1){
  21. if(mkfifo(NAZWA_FIFO,0600)){
  22. printf("Błąd mkfifio().\n");
  23. exit(1) ;
  24. }
  25. }
  26. potok = open(NAZWA_FIFO,O_WRONLY);
  27.  
  28.  
  29. if(potok==-1){
  30. printf("Błąd przy otwieraniu kolejki. Program zostanie zamkniety.");
  31. exit(1);
  32. }
  33.  
  34. fp = fopen(nazwa, "w");
  35. if(fp == NULL){
  36. printf("Błąd przy otwieraniu pliku. Program zostanie zamkniety. \n");
  37. exit(1);
  38. }
  39. printf("zapisuje");
  40. for(j=0; j<ILOSC; ++j){
  41. znak = (char)(rand()%94 + 32);
  42. if(write(potok, (void*)&znak, 1)== -1){
  43. printf("Blad zapisu do potoku.\n");
  44. exit(1);
  45. }
  46. fprintf(fp, "%c", znak);
  47. }
  48.  
  49. close(potok);
  50. fclose(fp);
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement