Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
- #include <limits.h>
- #include <fcntl.h>
- #include <sys/types.h>
- #define NAZWA_FIFO "/tmp/moje_fifo"
- #define ILOSC 10
- int main(int argc, char* argv[]){
- FILE * fp;
- char nazwa[20];
- sprintf(nazwa,"./P/p_%d",getpid());
- srand(getpid());
- int potok;
- char znak;
- int i,j;
- if(access(NAZWA_FIFO, F_OK)==-1){
- if(mkfifo(NAZWA_FIFO,0600)){
- printf("Błąd mkfifio().\n");
- exit(1) ;
- }
- }
- potok = open(NAZWA_FIFO,O_WRONLY);
- if(potok==-1){
- printf("Błąd przy otwieraniu kolejki. Program zostanie zamkniety.");
- exit(1);
- }
- fp = fopen(nazwa, "w");
- if(fp == NULL){
- printf("Błąd przy otwieraniu pliku. Program zostanie zamkniety. \n");
- exit(1);
- }
- printf("zapisuje");
- for(j=0; j<ILOSC; ++j){
- znak = (char)(rand()%94 + 32);
- if(write(potok, (void*)&znak, 1)== -1){
- printf("Blad zapisu do potoku.\n");
- exit(1);
- }
- fprintf(fp, "%c", znak);
- }
- close(potok);
- fclose(fp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement