Advertisement
d1cor

fifo_escritor.c

May 30th, 2018
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.16 KB | None | 0 0
  1. /*******************************************
  2. * Author     : Diego Cordoba / @d1cor      *
  3. * Purpose    : juncotic.com @juncotic      *
  4. *******************************************/
  5.  
  6. #include<stdio.h>
  7. #include<stdlib.h>
  8. #include<sys/types.h>
  9. #include<sys/stat.h>
  10. #include<unistd.h>
  11. #include<string.h>
  12. #include<fcntl.h>
  13. #include<errno.h>
  14.  
  15. #define BUF_SIZE 256
  16.  
  17. int main(int argc, char** argv) {
  18.  
  19.     char *error;
  20.     char cadena[BUF_SIZE];
  21.     int count,i;
  22.     int tuberia;    //file descriptor del fifo
  23.  
  24.  
  25.     if((tuberia=open("/tmp/archivo_fifo",O_WRONLY))<0){
  26.         error="open";
  27.         goto err;
  28.     }
  29.  
  30.  
  31.     printf("ESCRITOR\tEscribiendo...%d\n",tuberia);
  32.  
  33.     count=sprintf(cadena,"ESCRITOR\thola proceso\n");
  34.     write(tuberia,cadena,count);
  35.     sleep(1);
  36.  
  37.     count=sprintf(cadena,"ESCRITOR\tsigo escribiendo...\n");
  38.     write(tuberia,cadena,count);
  39.  
  40.     for(i=0;i<10;i++){
  41.         printf("escribiendo %d\n",i);
  42.         count=sprintf(cadena,"ESCRITOR\tescribiendo mensaje %d\n",i);
  43.         write(tuberia,cadena,count);
  44.         sleep(1);
  45.     }
  46.  
  47.     close(tuberia);
  48.  
  49.     return 0;
  50.  
  51. err:
  52.     fprintf(stderr,"%s: %d-%s\n",error,errno,strerror(errno));
  53.     exit(1);
  54. }
  55.  
  56.  
  57. // https://tmate.io/t/ro-1c5ttPEMJsa0FZt3ej1iSWXWx
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement