All pastes #11035 Raw Edit

CP

public text v1 · immutable
#11035 ·published 2005-05-05 15:19 UTC
rendered paste body
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define STDIN  0
#define STDOUT 1

int main (int argc, char* argv[]) {
  int fd, ofile;
  char *buffer;
  ssize_t lu, ecrit;
  struct stat s;

  if (argc!=3) {
    printf("Usage: %s source cible\n",argv[0]);
    exit(0);
  }

  if ((fd=open(argv[1],O_RDONLY))==-1)
  {
    perror("Erreur lors de l'ouverture du fichier");
    exit(1);
  }

  ofile=creat(argv[2], 0760);
  if (ofile==-1) {
    perror("Erreur lors de la creation du fichier");
    exit(2);
  }

  
   
  buffer=(char*)malloc(sizeof(char)*256);
  if (buffer==NULL) {
    perror("Erreur d'allocation memoire");
    exit(3);
  }

  do {
    lu=read(fd, buffer, 256);
    if (lu>0)
      ecrit=write(ofile, buffer, lu);
    if (ecrit<0) {
      perror("erreur lors de l'ecriture dans le fichier");
      exit(4);
    }
  }
  while (lu>0);

  free(buffer);
  if (lu==-1) {
    perror("Erreur de lecture");
    exit(3);
  }
  
  close(fd);
  close(ofile);
  printf("Copie terminee");
}