Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.76 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <sys/stat.h>
  3. #include <fcntl.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #define exit_on_error(s,m) if (s < 0) { perror(m); exit(1); }
  7. #define TAMANHO_DO_BUFFER 10
  8. main(int argc, char *argv[])
  9. {
  10.  int n, fd_r, fd_w;
  11.  char buffer[TAMANHO_DO_BUFFER];
  12.  if(argc!=3)
  13.  {printf("Usage: %s <de> <para>\n",argv[0]);
  14.  exit(1);}
  15.  fd_r = open(argv[1], O_RDONLY);
  16.  exit_on_error(fd_r,"Erro na abertura da origem");
  17.  fd_w = open(argv[2], O_WRONLY|O_TRUNC|O_CREAT, 0644);
  18.  exit_on_error(fd_w,"Erro na abertura/criacao do destino");
  19.  /*Leitura de fd_r para fd_w*/
  20.  while( (n=read(fd_r, buffer, TAMANHO_DO_BUFFER)) > 0)
  21.  write(fd_w, buffer, n);
  22.  exit_on_error(n, "Erro durante a leitura do ficheiro de origem");
  23.  close(fd_r);
  24. close(fd_w);
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement